Parcourir un tableau et récupérerdes cellule

renaud7

XLDnaute Nouveau
Parcourir un tableau et récupérer des cellules

Bonjour tout le monde, je débute en VBA et voici mon pb:
J'ai un tableau rempli totalement avec des cellules pleines et des cellules vides. les pleines sont des chiffres.
Je voudrai créer une macro qui parcours ce tableau et chaque fois qu'elle rencontre une cellule avec un chiffre elle me fasse une copie des 3 premières cellules comprises sur la même ligne dans une nouvelle feuille + copier la cellule active.

Par exemple
J'ai le chiffre 9 en BQ6 donc dans la feuille 2 je voudrai copier A6 B6 C6 plus la valeur 9 en 4 eme colonne.
Je sais pas trop si c'est clair, j'espère que oui.

j'ai trouvé ça sur le net:
dim cellule as range
For each cellule in ThisWorkbook.Worksheets("Feuil1").Range("A1").entirecolumn
if cellule.value= <la tu met la valeur lorsque tu dois copier la ligne (= "ch" si j'ai bien compris)> then
cellule.entirerow.copy 'copi la ligne en question
ThisWorkbook.Worksheets("Feuil2").Range("A1").pastespecial 'tu colle ds "feuil2"
end if
next

j'essaye de bidouiller avc mais si vous avez une meilleure solution.....

merci
 
Dernière édition:

Catrice

XLDnaute Barbatruc
Re : Parcourir un tableau et récupérerdes cellule

Bonsoir,

Cijoint un exemple à tester.
Code:
Sub Test()
Sheets("Feuil2").Cells.Clear
For Each X In Range("BQ1:" & Range("BQ65536").End(xlUp).Address)
    If X <> "" Then Application.Union(Range("A" & X.Row & ":C" & X.Row), X).Copy Sheets("Feuil2").Range("A65536").End(xlUp).Offset(1, 0)
Next
End Sub
 

Pièces jointes

  • Classeur1.xls
    27 KB · Affichages: 73
  • Classeur1.xls
    27 KB · Affichages: 72
  • Classeur1.xls
    27 KB · Affichages: 76

renaud7

XLDnaute Nouveau
Re : Parcourir un tableau et récupérerdes cellule

Bonsoir,

Cijoint un exemple à tester.
Code:
Sub Test()
Sheets("Feuil2").Cells.Clear
For Each X In Range("BQ1:" & Range("BQ65536").End(xlUp).Address)
    If X <> "" Then Application.Union(Range("A" & X.Row & ":C" & X.Row), X).Copy Sheets("Feuil2").Range("A65536").End(xlUp).Offset(1, 0)
Next
End Sub

Nikkkkel merci, c'es encore mieux que ma solution que j'avais enfin réusi a faire
 

Discussions similaires

Réponses
9
Affichages
182

Statistiques des forums

Discussions
312 243
Messages
2 086 550
Membres
103 245
dernier inscrit
gdesign