[VBA]Déplacer lignes dans une autre feuille
Fermé
Detsou
Messages postés
4
Date d'inscription
jeudi 28 juillet 2011
Statut
Membre
Dernière intervention
29 juillet 2011
-
29 juil. 2011 à 11:09
melanie1324 Messages postés 1505 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 31 janvier 2018 - 1 août 2011 à 08:38
melanie1324 Messages postés 1505 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 31 janvier 2018 - 1 août 2011 à 08:38
A voir également:
- Excel déplacer une ligne dans une autre feuille
- Déplacer une colonne excel - Guide
- Aller à la ligne dans une cellule excel - Guide
- Liste déroulante excel - Guide
- Feuille de pointage excel - Télécharger - Tableur
- Formule excel - Guide
5 réponses
melanie1324
Messages postés
1505
Date d'inscription
vendredi 25 mai 2007
Statut
Membre
Dernière intervention
31 janvier 2018
154
29 juil. 2011 à 11:14
29 juil. 2011 à 11:14
bonjour,
voici ton code
sub déplacer ()
j=3
for i =2 to 10000 'de la deuxième ligne à la 10000
if sheets("feuilledetacolonneQ").cells(i,18) <> "" 'remplaces feuilledetacolonneQ par ton nom de feuille ou se situe ta fameuse colonne q
sheets("feuilledetacolonneQ").select
rows.cut
sheets("Feuille arrivée").select 'remplaces feuille arrivée par ton nom de feuille ou tes lignes doivent êtres déplacées
cells(j,1).select
activesheet.paste
j=j+1
end if
next i
end sub
voici ton code
sub déplacer ()
j=3
for i =2 to 10000 'de la deuxième ligne à la 10000
if sheets("feuilledetacolonneQ").cells(i,18) <> "" 'remplaces feuilledetacolonneQ par ton nom de feuille ou se situe ta fameuse colonne q
sheets("feuilledetacolonneQ").select
rows.cut
sheets("Feuille arrivée").select 'remplaces feuille arrivée par ton nom de feuille ou tes lignes doivent êtres déplacées
cells(j,1).select
activesheet.paste
j=j+1
end if
next i
end sub
Detsou
Messages postés
4
Date d'inscription
jeudi 28 juillet 2011
Statut
Membre
Dernière intervention
29 juillet 2011
29 juil. 2011 à 11:22
29 juil. 2011 à 11:22
Merci pour la réponse rapide. Cependant, j'ai quelques problèmes :
Erreur d'exécution '1004':
Cette sélection n'est pas valide.
Raisons possibles:
- Les zones de copie et de collage ne peuvent se superposer que si elles sont de dimension et de forme identiques.
- Si vous utilisez la commande Créer du menu Insertion Nom, la ligne ou la colonne qui contiennent les noms proposés ne seront pas incluses.
Sachant que j'ai dû modifié le code parce qu'Excel me disait qu'il y avait une erreur de base. Voilà ce qu'il donne à la fin :
( J'ai du rajouté un Then, après le If Sheets("feuil2") .... )
Erreur d'exécution '1004':
Cette sélection n'est pas valide.
Raisons possibles:
- Les zones de copie et de collage ne peuvent se superposer que si elles sont de dimension et de forme identiques.
- Si vous utilisez la commande Créer du menu Insertion Nom, la ligne ou la colonne qui contiennent les noms proposés ne seront pas incluses.
Sachant que j'ai dû modifié le code parce qu'Excel me disait qu'il y avait une erreur de base. Voilà ce qu'il donne à la fin :
Sub déplacer() j = 3 For i = 2 To 10000 'de la deuxième ligne à la 10000 If Sheets("feuil2").Cells(i, 18) <> "" Then 'remplaces feuilledetacolonneQ par ton nom de feuille ou se situe ta fameuse colonne q Sheets("feuil2").Select Rows.Cut Sheets("feuil3").Select 'remplaces feuille arrivée par ton nom de feuille ou tes lignes doivent êtres déplacées Cells(j, 1).Select ActiveSheet.Paste j = j + 1 End If Next i End Sub
( J'ai du rajouté un Then, après le If Sheets("feuil2") .... )
melanie1324
Messages postés
1505
Date d'inscription
vendredi 25 mai 2007
Statut
Membre
Dernière intervention
31 janvier 2018
154
29 juil. 2011 à 11:32
29 juil. 2011 à 11:32
bonjour,
je sais pourquoi, un erreur de débutante :
Sub déplacer()
j = 3
For i = 2 To 10000
'de la deuxième ligne à la 10000
If Sheets("feuil2").Cells(i, 18) <> "" Then
'remplaces feuilledetacolonneQ par ton nom de feuille ou se situe ta fameuse colonne q
Sheets("feuil2").Select
Rows(i).Cut
Sheets("feuil3").Select
'remplaces feuille arrivée par ton nom de feuille ou tes lignes doivent êtres déplacées
Cells(j, 1).Select
ActiveSheet.Paste
j = j + 1
End If
Next i
End Sub
je sais pourquoi, un erreur de débutante :
Sub déplacer()
j = 3
For i = 2 To 10000
'de la deuxième ligne à la 10000
If Sheets("feuil2").Cells(i, 18) <> "" Then
'remplaces feuilledetacolonneQ par ton nom de feuille ou se situe ta fameuse colonne q
Sheets("feuil2").Select
Rows(i).Cut
Sheets("feuil3").Select
'remplaces feuille arrivée par ton nom de feuille ou tes lignes doivent êtres déplacées
Cells(j, 1).Select
ActiveSheet.Paste
j = j + 1
End If
Next i
End Sub
Detsou
Messages postés
4
Date d'inscription
jeudi 28 juillet 2011
Statut
Membre
Dernière intervention
29 juillet 2011
Modifié par Detsou le 29/07/2011 à 11:43
Modifié par Detsou le 29/07/2011 à 11:43
" Impossible de modifier une cellule fusionnée "
Après quoi, le " Rows(i).Cut " est surligné en jaune. Je ne comprends pas vraiment, je n'ai pas de cellule fusionnée...
( Aussi, c'est la colonne Q, donc c'est Cells(i, 17) non ? )
Après quoi, le " Rows(i).Cut " est surligné en jaune. Je ne comprends pas vraiment, je n'ai pas de cellule fusionnée...
( Aussi, c'est la colonne Q, donc c'est Cells(i, 17) non ? )
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
melanie1324
Messages postés
1505
Date d'inscription
vendredi 25 mai 2007
Statut
Membre
Dernière intervention
31 janvier 2018
154
1 août 2011 à 08:38
1 août 2011 à 08:38
bonjour,
on va contourner le pb :
Sub déplacer()
j = 3
do while i <= 10000
'de la deuxième ligne à la 10000
If Sheets("feuil2").Cells(i, 17) <> "" Then
'remplaces feuilledetacolonneQ par ton nom de feuille ou se situe ta fameuse colonne q
Sheets("feuil2").Select
Rows(i).copy
Sheets("feuil3").Select
'remplaces feuille arrivée par ton nom de feuille ou tes lignes doivent êtres déplacées
Cells(j, 1).Select
ActiveSheet.Paste
Sheets("feuil2").Select
Rows(i).Delete Shift:=xlUp
i=i-1
j = j + 1
End If
i=i+1
loop
End Sub
on va contourner le pb :
Sub déplacer()
j = 3
do while i <= 10000
'de la deuxième ligne à la 10000
If Sheets("feuil2").Cells(i, 17) <> "" Then
'remplaces feuilledetacolonneQ par ton nom de feuille ou se situe ta fameuse colonne q
Sheets("feuil2").Select
Rows(i).copy
Sheets("feuil3").Select
'remplaces feuille arrivée par ton nom de feuille ou tes lignes doivent êtres déplacées
Cells(j, 1).Select
ActiveSheet.Paste
Sheets("feuil2").Select
Rows(i).Delete Shift:=xlUp
i=i-1
j = j + 1
End If
i=i+1
loop
End Sub