Parcourir un tableau et récupérerdes cellule

  • Initiateur de la discussion Initiateur de la discussion renaud7
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

R

renaud7

Guest
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 modification par un modérateur:
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

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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
12
Affichages
373
Retour