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
Retour