Couper coller une ligne d'une feuille dans une autre feuille VBA
Résolu
sikasika
Messages postés
74
Statut
Membre
-
eriiic Messages postés 25847 Date d'inscription Statut Contributeur Dernière intervention -
eriiic Messages postés 25847 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour tout le monde,
si quelqu'un peut m'aider :D
J'aimerai faire une macro qui coupe une ligne dès que la cellule est en rouge : par exemple si la cellule P16 est en rouge alors toute la ligne 16 soit coupée et collée vers la feuille 3
j'ai essayé ce code :
Sub ligne()
Sheets("Feuil1").Select
LigneFeuille3 = 2
NbLignes = 20000
For i = 1 To NbLignes
If Cells(i, 16).Interior.ColorIndex = 3 Then
Cells(i, 16).EntireRow.Cut
Sheets("Feuil3").Select
Cells(LigneFeuille3, 1).EntireRow.Select
ActiveSheet.Paste
Sheets("Feuil1").Select
LigneFeuille3 = LigneFeuille3 + 1
End If
Next i
End Sub
mais ça n'a pas marché il me donne un message d'erreur: erreur d'exécution '1004': erreur définié par l'application ou par l'objet
voilà tout , :D
si quelqu'un peut m'aider :D
J'aimerai faire une macro qui coupe une ligne dès que la cellule est en rouge : par exemple si la cellule P16 est en rouge alors toute la ligne 16 soit coupée et collée vers la feuille 3
j'ai essayé ce code :
Sub ligne()
Sheets("Feuil1").Select
LigneFeuille3 = 2
NbLignes = 20000
For i = 1 To NbLignes
If Cells(i, 16).Interior.ColorIndex = 3 Then
Cells(i, 16).EntireRow.Cut
Sheets("Feuil3").Select
Cells(LigneFeuille3, 1).EntireRow.Select
ActiveSheet.Paste
Sheets("Feuil1").Select
LigneFeuille3 = LigneFeuille3 + 1
End If
Next i
End Sub
mais ça n'a pas marché il me donne un message d'erreur: erreur d'exécution '1004': erreur définié par l'application ou par l'objet
voilà tout , :D
A voir également:
- Couper coller une ligne d'une feuille dans une autre feuille VBA
- Comment imprimer en a5 sur une feuille a4 - Guide
- Couper une video - Guide
- Bruler une feuille de laurier - Guide
- Comment supprimer une feuille sur word - Guide
- Feuille de pointage excel - Télécharger - Tableur
3 réponses
Bonjour,
Et si tes cellule rouges en P contiennent une valeur, rechercher la ligne de la dernière valeur de la colonne pour limiter ta boucle :
derlig=cells(rows.count,"P").end(xlup).row
For i = derlig To 1 Step -1
Si P n'a pas toujours une valeur tu peux faire cette recherche sur la colonne qui contient des valeurs jusqu'en bas (A par exemple).
eric
Jamais tu ne répondras à un mp non sollicité...
Bon, ça c'est fait.
Sub ligne()
Sheets("Feuil1").Select
LigneFeuille3 = 2
NbLignes = 20000
For i = NbLignes To 1 Step -1
If Cells(i, 16).Interior.ColorIndex = 3 Then
Rows(i).Copy Sheets("Feuil3").Rows(LigneFeuille3)
LigneFeuille3 = LigneFeuille3 + 1
Rows(i).Delete Shift:=xlUp
End If
Next i
End Sub De plus, lorsque tu supprimes des lignes tu dois faire ta boucle en partant du bas sinon la ligne suivant celle supprimée n'est pas vue (ou alors faire i=i-1)
Et si tes cellule rouges en P contiennent une valeur, rechercher la ligne de la dernière valeur de la colonne pour limiter ta boucle :
derlig=cells(rows.count,"P").end(xlup).row
For i = derlig To 1 Step -1
Si P n'a pas toujours une valeur tu peux faire cette recherche sur la colonne qui contient des valeurs jusqu'en bas (A par exemple).
eric
Jamais tu ne répondras à un mp non sollicité...
Bon, ça c'est fait.
merci bcoup ERIC
ça marche très bien sauf qu'il y a un petit souci :D
en fait cette macro va s'exécuter à chaque fois que je Click sur un bouton ( je connais djà le code pour ça)
mais en fait quand je rééxecute la macro bein ça m'écrase les ligne qui ont djà étaient coupés et collés
ça marche très bien sauf qu'il y a un petit souci :D
en fait cette macro va s'exécuter à chaque fois que je Click sur un bouton ( je connais djà le code pour ça)
mais en fait quand je rééxecute la macro bein ça m'écrase les ligne qui ont djà étaient coupés et collés