IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Sélection ligne complète avec recherche dans tableau


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2009
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2009
    Messages : 42
    Points : 16
    Points
    16
    Par défaut Sélection ligne complète avec recherche dans tableau
    Salut à tous,

    j'ai un grand tableau et je souhaiterai faire une recherche dans une partie de ce tableau. Je recherche la valeur 1. Lorsque cette valeur est trouvée, je souhaiterai sélectionner l'entierté de la ligne et la copier dans une autre sheet.

    Voici ce que j'ai codé pour le moment :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    Sub banane()
    Dim MotCherche, L, InL, C, InC, OutL
    Dim Origine, Destination
    Set Origine = Workbooks(1).Sheets(1)
    Set Destination = Workbooks(1).Sheets(2)
    MotCherche = "1"
    InL = Origine.ActiveCell.SpecialCells(xlCellTypeLastCell).Row
    InC = Origine.ActiveCell.SpecialCells(xlCellTypeLastCell).Column
    OutL = Destination.ActiveCell.SpecialCells(xlCellTypeLastCell).Row
    For L = 1 To InL
    For CC = 30 To 40
      If Origine.Cells(L, CC).Value = MotCherché Then
        For C = 1 To InC
          Destination.Cells(OutL, C).Value = Origine.Cells(L, CC - 1 + C).Value
          Next
          OutL = OutL + 1
        End If
      Next
    Next
    End Sub
    Malheureusement à la ligne

    InL = Origine.ActiveCell.SpecialCells(xlCellTypeLastCell).Row

    J'ai un message d'erreur :

    Propriété ou méthode non gérée par cet objet.

    Pouvez vous m'aider ?

    Merci d'avance,

  2. #2
    Membre expérimenté Avatar de mayekeul
    Inscrit en
    Août 2005
    Messages
    1 369
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 1 369
    Points : 1 665
    Points
    1 665
    Par défaut
    bonjour,

    tu dois remplacer activecell par cells
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    InL = Origine.Cells.SpecialCells(xlCellTypeLastCell).Row

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2009
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2009
    Messages : 42
    Points : 16
    Points
    16
    Par défaut
    Super ça fonctionne un tout grand merci.

    Par contre j'ai un souci encore ...

    j'éxecute une fois la macro et dans la sheet de destination j'ai le bon résultat.

    Je l'éxecute une deuxieme fois le résultat se repete en dessous super.

    Par contre si je supprime le contenu de la sheet de destination et que je lance la macro... là le résultat se met encore en dessous comme si il avait retenu que les cases du dessus avait un jour contenu une valeur et il ne les considere pas comme vide !

    Est- il possible manuellement sans macro de effacer completement le contenu d'une cellule et qu'elle redevienne " vierge ".

    Merci d'avance

  4. #4
    Membre expérimenté Avatar de mayekeul
    Inscrit en
    Août 2005
    Messages
    1 369
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 1 369
    Points : 1 665
    Points
    1 665
    Par défaut
    en modifiant le code comme ceci cela devrait mieux fonctionner

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    Sub banane()
    Dim MotCherche, L, InL, C, InC, OutL
    Dim Origine As Worksheet, Destination As Worksheet
    Set Origine = Workbooks(1).Sheets(1)
    Set Destination = Workbooks(1).Sheets(2)
    MotCherche = "1"
    Debug.Print Origine.UsedRange.Columns.Count
    Debug.Print Origine.UsedRange.Rows.Count
    Debug.Print Destination.UsedRange.Columns.Count
    Debug.Print Destination.UsedRange.Rows.Count
     
    InL = Origine.Cells.SpecialCells(xlCellTypeLastCell).Row
    InC = Origine.Cells.SpecialCells(xlCellTypeLastCell).Column
    OutL = Destination.Cells.SpecialCells(xlCellTypeLastCell).Row
    For L = 1 To InL
    For CC = 30 To 40
      If Origine.Cells(L, CC).Value = MotCherché Then
        For C = 1 To InC
          Destination.Cells(OutL, C).Value = Origine.Cells(L, CC - 1 + C).Value
          Next
          OutL = OutL + 1
        End If
      Next
    Next
    End Sub

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2009
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2009
    Messages : 42
    Points : 16
    Points
    16
    Par défaut
    J'ai un message d'erreur : "objet requis".

    Par contre j'ai résolu le problème avec une deuxième macro qui supprime toutes les lignes vides. C'est pas super pratique d'avoir deux macros mais bon au moins ça marche


    Merci pour ton aide !

Discussions similaires

  1. Fonction de recherche dans tableau avec key
    Par blueace dans le forum Langage
    Réponses: 6
    Dernier message: 24/01/2014, 17h42
  2. Masquer lignes avec conditions dans tableau
    Par logoden dans le forum Débuter
    Réponses: 2
    Dernier message: 28/02/2012, 12h18
  3. [XL-2003] Récupérer valeur de ligne selon recherche dans tableau
    Par Lufia dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 05/11/2009, 13h02
  4. [Tableaux] Comparaison avec recherche dans un tableau
    Par Hotfirenet dans le forum Langage
    Réponses: 4
    Dernier message: 26/08/2007, 22h24
  5. Recherche dans Tableau de point
    Par Platypus dans le forum Algorithmes et structures de données
    Réponses: 10
    Dernier message: 30/08/2005, 18h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo