Copier des valeurs sur la premiere ligne vide

  • Initiateur de la discussion Initiateur de la discussion gillmo
  • 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 !

gillmo

XLDnaute Occasionnel
bonjour,

j'ai un classeur dans lequel j'ai une feuille paramétrage avec le nom des feuilles sur lesquelles je souhaite effectuer une recherche, et une feuille récap pour récupérer les infos qui proviennent des feuilles indiqués dans la feuille paramétrage. je vous joint un fichier exemple dans lequel il y a 3 feuilles avec des données (titi, toto, tata) et je souhaite récupérer les infos des colonnes (B C et D) qui ont une valeur 2 dans la colonne R.

J'ai bidouillé un bout de code, il fait bien la recherche, mais il récupère qu'une seule ligne et je souhaiterai avec un copier coller valeur, ce qui n'est pas le cas. De plus, il est possible que ma recherche s'étende sur de nombreuse feuille, alors je ne sais pas si mon code est le plus rapide pour faire une recherche sur 20 ou 30 feuilles, si jamais vous avez une meilleure solution via la méthode array par exemple (que je ne sais mettre en place).

J’espère n'avoir pas été trop confus dans mes explications.

Merci d'avance de votre aide.
 

Pièces jointes

Re : Copier des valeurs sur la premiere ligne vide

Bonjour,
teste ça! (supprimer au préalable l'onglet paramétrage non nécessaire.
et dis moi. Demon côté, ça marche!
cdt
frédéric
'///////////////////////////////////////////////////////////////////////////////////////
Sub Intégration2()
Dim Plage As Range
Dim Ws As Worksheet
Dim J As Long
Dim dest As Range
Dim cell As Range
'je pars du principe que tu traites ts les onglets sauf "Recap"
'et plus besoin de ton onglet paramétrage(je l'ai supprimé)
' Boucle sur les feuilles du classeur
For Each Ws In Worksheets
If Not Ws.Name = "recap" Then
Ws.Select
Set Plage = Ws.Range("r6:r550").Cells
For Each cell In Plage
If cell.Value = 2 Then
Range(cell.Offset(0, -16), cell.Offset(0, -14)).Copy
Sheets("recap").Select
Range("A65536").End(xlUp).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End If
Next cell
End If
Next Ws
End Sub
'//////////////////////////////////////////////////////////////////////////////////////////////////////////
 
Re : Copier des valeurs sur la premiere ligne vide

merci fredl pour ta réponse.

Petite précision que j'avais omis, la feuille paramétrage est indispensable, car c'est à partir de cette feuille que je crée les onglets dont j'ai besoin de récupérer les infos. J'ai adapté ton code à mes besoins, cela fonctionne parfaitement

merci pour tout.
 
- 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

Discussions similaires

Retour