Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Copier une ligne selon une valeur dans une autre feuille

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

poussy67

XLDnaute Occasionnel
Bonsoir le forum

Cela fait plusieurs jour que cherche dans le forum et d'adapter la vba mais sans résultat. Dans une feuille j'ai des sous total, je voudrais savoir si c'est possible de copier plusieurs cellules situé sur la ligne précédente de la ligne contenant "Commande xxxxxxx".

Je vous remercie d'avance pour le coup de pouce au pro de la vba

cdt Poussy
 

Pièces jointes

Re : Copier une ligne selon une valeur dans une autre feuille

Bonsoir poussy,

J'ai fait une petite macro assez simple qui résoud le problème.
C'est prévu pour que de nouveaux champs puissent être rajoutés ou enlevés dans la feuille QA; il faudra juste adapter le code de la boucle.
Et ne pas faire de ligne vide entre les commandes, ça arrêterait la macro 🙂
En espérant que ça répond au pb.
 

Pièces jointes

Re : Copier une ligne selon une valeur dans une autre feuille

Bonjour le fil

Une autre façon de faire (qui copie aussi le format des cellules)
Code:
Sub copie()
Dim c As Range, p As Range
For Each c In Worksheets("QA").Range([D8], [D65536].End(xlUp))
If c.Text Like "Com*" Then
Set p = c.Offset(-1, -3)
Union(p, p.Offset(, 2).Resize(, 2), p.Offset(, 5).Resize(, 5)).Copy Worksheets("Resultat").[A65536].End(xlUp)(2)
Set p = Nothing
End If
Next
Application.CutCopyMode = False
End Sub
 
Re : Copier une ligne selon une valeur dans une autre feuille

Bonjour pierrezxld, bonjour le forum,

Cela correspond presque, est il possible lors des dernières importations ce font toujours à la dernière ligne dans la feuille resultat?

cdt poussy
 
Re : Copier une ligne selon une valeur dans une autre feuille

Bonjour poussy, le fil, le forum

Je dois être transparent ...
Je suppose donc que tu n'as point vu (ni tester mon code VBA)

EDITION: bonjour Papou-net, toi au moins, tu as de bons yeux 😉
 
Dernière édition:
Re : Copier une ligne selon une valeur dans une autre feuille

Bonjour Tous,
est-il possible d'avoir une traduction pour le ci-dessous ??
Code:
est il possible lors des dernières importations ce font toujours à la dernière ligne
merci d'avance
Papou🙂

EDIT: Oui JM cela doit être le cas, car dans ta macro tu le fais, c’est pour cela que je demande une traduction, car à la finale il veut quoi??????? a + Papou🙂
 
Dernière édition:
Re : Copier une ligne selon une valeur dans une autre feuille

Re bonjour,

Non tu n'es pas transparent staple1600, je n'avais pas vu ton code je viens de tester ton code je retire ma deuxième question.
Ton code me convient parfaitement staple encore merci pour ton aide


cdt poussy
 
Re : Copier une ligne selon une valeur dans une autre feuille

Bonjour à tous,

J'ai une application similaire à celle de de poussy 67 à faire.

la macro de staple1600 semble correspondre à ce que je veux faire mais la ligne qté ne semble pas reprendre le cumul (colonne j cellule en vert ).Est-il possible avec la fonction union de récuperer cette cellule à la place de celle du dessus.

D'avance merci de votre réponse.

Bonne journée.

Patsyl60
 
Re : Copier une ligne selon une valeur dans une autre feuille

Re bonjour

Effectivement il me manque le total dans la colonne J (merci Patsyl60), j'ai essayé de trouver une methode mais sans resultat. Si quelqu'un aurait une solution elle sera bien venu

Cdt Poussy
 
Re : Copier une ligne selon une valeur dans une autre feuille

Bonsoir


Cela fonctionne si... seule la ligne 1 (les entêtes) de la feuille Résultat n'est pas vide
Code:
Sub copieII()
Dim c As Range, p As Range, q As Range
For Each c In Worksheets("QA").Range([D8], [D65536].End(xlUp))
If c.Text Like "Com*" Then
Set p = c.Offset(-1, -3)
Set q = c.Offset(, 6)
q.Copy Worksheets("Resultat").[H65536].End(xlUp)(2)
Union(p, p.Offset(, 2).Resize(, 2), p.Offset(, 5).Resize(, 4), p.Offset(, 5).Resize(, 3)).Copy Worksheets("Resultat").[A65536].End(xlUp)(2)
Set q = Nothing
Set p = Nothing
End If
Next
Application.CutCopyMode = False
End Sub
 
- 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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…