Copier des valeurs sur la premiere ligne vide

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

  • test.xlsm
    24.2 KB · Affichages: 27
  • test.xlsm
    24.2 KB · Affichages: 43

fredl

XLDnaute Impliqué
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
'//////////////////////////////////////////////////////////////////////////////////////////////////////////
 

gillmo

XLDnaute Occasionnel
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.
 

Discussions similaires

Statistiques des forums

Discussions
312 321
Messages
2 087 233
Membres
103 497
dernier inscrit
JP9231