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

Code copier/coller ligne d'une feuille à une autre sous condition

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

B

benoit2602

Guest
Re bonjour,

J'ai crée une macro me permettant de copier/coller des lignes d'une feuille à l'autre selon condition. Tout à l'heure tout fonctionnait très bien puis j'ai fait quelques modifications à mon fichier en modifiant également le code VBA et là il ne se passe plus rien je ne comprends pas.

Si quelqu'un pouvait m'aider, merci;
 

Pièces jointes

Re : Code copier/coller ligne d'une feuille à une autre sous condition

re,

il y a une erreur à cette ligne
Do While Cells(i, 10) <> ""

sinon, faut éviter de créer des fils à chaque fois.
c'est déjà le 3eme fil pour le même problème...

c'est plus facile de tout mettre dans le même (si quelqu'un a le même soucis, il aura toutes les réponses dans le même fil)

a+
 
Re : Code copier/coller ligne d'une feuille à une autre sous condition

Ah je viens de me rendre compte de quelquechose.

La copie des lignes ne se fait en entier. Je précise : la copie ne se fait que par rubrique, ici la copie des lignes s'arrete à la rubrique qualité et ne continue pas pour vérifier qu'il n'y ait pas d'autre ligne à copier dans le rest du fichier.
Faut-il modifier le code en conséquence ? Si oui comment ?

Merci encore et désolé pour les dérangements successifs.
 
Re : Code copier/coller ligne d'une feuille à une autre sous condition

re,

si j'ai bien compris :
Code:
Private Sub CommandButton1_Click()
   Sheets("Exigences minimales").Activate

Dim i As Integer, lastLine As Integer
i = 13
With ThisWorkbook.Sheets("Exigences minimales")
    lastLine = .Cells(.Rows.Count, 10).End(xlUp).Row
End With
Dim j As Integer
j = 13
For i = 13 To lastLine
    If Range("$H$" & i) = "Responsable QSE" Then
        Range("$C$" & i & ":$G$" & i).Copy Sheets("Responsable QSE").Range("$C$" & j & ":$G$" & j)
        j = j + 1
    End If
    Sheets("Responsable QSE").Select
Next i
End Sub

a+
 
- 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
18
Affichages
655
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…