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
Bonjour,

Je suis débutant en VBA et ej cherche à créer un bouton qui me permette de copier une ligne d'une feuille (Exigences minimales) vers une autre (Responsable QSE) si cette ligne vérifie une condition.
La condition se trouve dans la colonne J si le bon texte est affiché alors il faut coller cette même ligne (de B à I) sur une autre feuille.
Bien sur il faut que les lignes se collent les unes à la suite des autres sans ligne vide entre.
J'ai creer un bouton avec le code suivant
Private Sub CommandButton1_Click()
Sheets("Exigences_minimales").Activate

Dim i As Integer
i = 10
Dim j As Integer
j = 10
Do While Cells(i, 99) <> ""
If Range("$J$" & i) = "Responsable QSE" Then
Range("$B$" & i & ":$I$" & i).Copy Sheets("Responsable_QSE").Range("$B$" & j & ":$I$" & j)
j = j + 1
End If
i = i + 1

Loop

End Sub

Le problème c'est qu'Excel m'indique une erreur '9' l'indice n'appartient pas à la selection et je ne comprends pas pourquoi (je suis débutant dans le langage VBA)

Si quelqu'un pouvait m'aider ça serait cool.

Merci

Je joins le fichier en même temps
 
Dernière modification par un modérateur:
Re : Code copier/coller ligne d'une feuille à une autre sous condition

bonjour,

3 petites modifs :

Private Sub CommandButton1_Click()
Sheets("Exigences minimales").Activate

Dim i As Integer
i = 10
Dim j As Integer
j = 10
Do While Cells(i, 10) <> ""
If Range("$J$" & i) = "Responsable QSE" Then
Range("$B$" & i & ":$I$" & i).Copy Sheets("Responsable QSE").Range("$B$" & j & ":$I$" & j)
j = j + 1
End If
i = i + 1

Loop

End Sub


ça a l'air de fonctionner

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

Bonjour Benoit2602 🙂,
Ton code corrigé
Code:
Private Sub CommandButton1_Click()
   Sheets("Exigences minimales").Activate
Dim i As Integer
i = 10
Dim j As Integer
j = 10
Do While Cells(i, 10) <> ""
If Range("J" & i) = "Responsable QSE" Then
Range("B" & i & ":I" & i).Copy Sheets("Responsable QSE").Range("B" & j & ":I" & j)
j = j + 1
End If
i = i + 1
Loop
End Sub
Bonne journée 😎
Edit : Bonjour MRomain
 
Dernière édition:
- 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
3
Affichages
876
Réponses
9
Affichages
879
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…