VBA Lister certaines colonnes seulement

Résolu/Fermé
Ricky38 Messages postés 4347 Date d'inscription samedi 15 mars 2008 Statut Contributeur Dernière intervention 2 novembre 2013 - Modifié par Ricky38 le 4/01/2013 à 01:10
Ricky38 Messages postés 4347 Date d'inscription samedi 15 mars 2008 Statut Contributeur Dernière intervention 2 novembre 2013 - 4 janv. 2013 à 23:14
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

f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
4 janv. 2013 à 08:26
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
Ricky38 Messages postés 4347 Date d'inscription samedi 15 mars 2008 Statut Contributeur Dernière intervention 2 novembre 2013 1 458
4 janv. 2013 à 12:29
Merci beaucoup, je vais tester ce soir et je te reviens.

0
Ricky38 Messages postés 4347 Date d'inscription samedi 15 mars 2008 Statut Contributeur Dernière intervention 2 novembre 2013 1 458
4 janv. 2013 à 23:14
Tout fonctionne parfaitement.

Merci beaucoup et bon weekend
0