VBA Lister certaines colonnes seulement

Résolu
Ricky38 Messages postés 5776 Date d'inscription   Statut Contributeur Dernière intervention   -  
Ricky38 Messages postés 5776 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour à tous,

j'ai trouver ce code sur le net pour lister des données. Ce code se trouve à afficher toute la ligne, donc toutes les colonnes. J'aimerais pouvoir afficher que certaines colonnes, exemple afficher les colonnes b et c seulement.

Merci d'avance.

voici le fichier: https://www.cjoint.com/c/CAeaYdAptyZ

et le code:

Sub Chercher() 
  
    Dim FeConsult As Worksheet 
    Dim FeBase As Worksheet 
    Dim Plage As Range 
    Dim Cel As Range 
    Dim Adr As String 
    Dim I As Long 
  
    'défini les variables feuille 
    Set FeConsult = Worksheets("Consultation") 
    Set FeBase = Worksheets("Base") 
  
    'défini la plage de recherche en feuille "Base" sur la 
    'colonne B à partir de la 2ème ligne(à adapter) 
    With FeBase 
        Set Plage = .Range(.[B2], .Range("B" & Rows.Count).End(xlUp)) 
    End With 
  
    'efface toutes les valeurs à partir de la ligne 7 
    'puisque valeur cherchée est en B6 (à adapter aussi) 
    With FeConsult 
        .Range(.Cells(7, 1), .Cells(Rows.Count, 1)).EntireRow.ClearContents 
    End With 
  
    'recherche toutes les correspondances exactes 
    Set Cel = Plage.Find(FeConsult.[B6], , xlValues, xlWhole) 
  
    If Not Cel Is Nothing Then 
  
        Adr = Cel.Address 
        I = 6 'commence à partir de la ligne 7 
  
        Do 
  
            I = I + 1 
            'copie la ligne entière 
            Cel.EntireRow.Copy FeConsult.Range("A" & I) 
  
            Set Cel = Plage.FindNext(Cel) 
  
        Loop While Adr <> Cel.Address 
  
    End If 
  
End Sub 





Tout problème a une solution...il faut juste être persévérant.

3 réponses

  1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Bonjour,

    Sub Chercher()
     
        Dim FeConsult As Worksheet
        Dim FeBase As Worksheet
        Dim Plage As Range
        Dim Cel As Range
        Dim Adr As String
        Dim I As Long
     
        'défini les variables feuille
        Set FeConsult = Worksheets("Consultation")
        Set FeBase = Worksheets("Base")
     
        'défini la plage de recherche en feuille "Base" sur la
        'colonne B à partir de la 2ème ligne(à adapter)
        With FeBase
            Set Plage = .Range(.[B2], .Range("B" & Rows.Count).End(xlUp))
        End With
     
        'efface toutes les valeurs à partir de la ligne 7
        'puisque valeur cherchée est en B6 (à adapter aussi)
        With FeConsult
            .Range(.Cells(7, 1), .Cells(Rows.Count, 1)).EntireRow.ClearContents
        End With
     
        'recherche toutes les correspondances exactes
        Set Cel = Plage.Find(FeConsult.[B6], , xlValues, xlWhole)
     
        If Not Cel Is Nothing Then
     
            Adr = Cel.Address
            I = 6 'commence à partir de la ligne 7
     
            Do
                I = I + 1
                'copie la ligne entière
                'Cel.EntireRow.Copy FeConsult.Range("A" & I)
                
                'copie cellule(s) B en B: a adapter
                Cel.Copy FeConsult.Range("B" & I)
                'copie cellule(s) C en C: a adapter
                Cel.Offset(, 1).Copy FeConsult.Range("C" & I)
     
                Set Cel = Plage.FindNext(Cel)
     
            Loop While Adr <> Cel.Address
     
        End If
     
    End Sub
    


    Bonne suite et bonne annee
    0
  2. Ricky38 Messages postés 5776 Date d'inscription   Statut Contributeur Dernière intervention   1 463
     
    Merci beaucoup, je vais tester ce soir et je te reviens.

    0
  3. Ricky38 Messages postés 5776 Date d'inscription   Statut Contributeur Dernière intervention   1 463
     
    Tout fonctionne parfaitement.

    Merci beaucoup et bon weekend
    0