A voir également:
- Couper/coller des lignes
- Couper une video - Guide
- Comment couper un pdf - Guide
- Couper photo en 3 instagram - Guide
- Couper mp3 - Guide
- Copier coller pdf - Guide
7 réponses
ccm81
Messages postés
10855
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
29 avril 2024
2 404
29 mars 2012 à 18:03
29 mars 2012 à 18:03
bonjour
essaies ceci (après avoir fait quelques modifs)
pour 25000 lignes çà devrait prendre un peu de temps
bonne suite
essaies ceci (après avoir fait quelques modifs)
pour 25000 lignes çà devrait prendre un peu de temps
Const cotest = 1 Const vtest = "10-Soldé" Const lideb = 1 Public Sub Deplace() Dim li As Long, lifin As Long Application.ScreenUpdating = False lifin = Sheets(1).Cells(Rows.Count, 1).End(xlUp).Row li = lifin Do If Sheets(1).Cells(li, cotest).Value = vtest Then Sheets(1).Cells(li, cotest).EntireRow.Copy Sheets(1).Cells(lifin + 1, 1) Sheets(1).Cells(li, cotest).EntireRow.Delete End If li = li - 1 Loop Until li = lideb - 1 Application.ScreenUpdating = True End Sub
bonne suite
bonjour
il se passe absolument rien :-(
le seul pb avec mon code de départ c'est qu'il me laisse la ligne que je coupe!
help me :-(
il se passe absolument rien :-(
le seul pb avec mon code de départ c'est qu'il me laisse la ligne que je coupe!
help me :-(
bon finalement c'est bon j'ai fais une nouvelle modif
j'ai juste un denrier problème. Je résume rapide le sujet :
- je contrôle la colonne 6 (F) pour voir si il y a écrit "10-soldé"
- je sélectionne la cellule A1, je descends à la dernière ligne de la colonne A (ctrl + flèche du bas) et je descends de +1
- j'insère la ligne que je viens de couper
--> Pb : la macro tourne en boucle car il contrôle la colonne F et mon nombres de lignes et variables donc je ne peux pas lui dire de s'arrêter à une ligne en particulier.
comment faire ?
voici le code modifié:
Sub solde2()
ActiveSheet.Outline.ShowLevels RowLevels:=3
LigneSuivi = 1
NbLignes = 25000
For i = 1 To NbLignes
If Cells(i, 6).Value = "10-Soldé" Then
Rows(i).Select
Selection.Cut
Range("A1").Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Activate
Selection.Insert Shift:=xlDown
LigneSuivi = LigneSuivi + 1
NbLignes = NbLignes - 1
i = 3
End If
Next i
End Sub
je pense que je peux, dans un 1er temps filtré les "10-soldé" faire un CTRL+SHIFT+flèche du bas pour qu'il sache le nombre de ligne avec "10-soldé", défiltrer à nouveau et le faire tourner jusqu'à cette valeur!
est-ce possible??
Merci
j'ai juste un denrier problème. Je résume rapide le sujet :
- je contrôle la colonne 6 (F) pour voir si il y a écrit "10-soldé"
- je sélectionne la cellule A1, je descends à la dernière ligne de la colonne A (ctrl + flèche du bas) et je descends de +1
- j'insère la ligne que je viens de couper
--> Pb : la macro tourne en boucle car il contrôle la colonne F et mon nombres de lignes et variables donc je ne peux pas lui dire de s'arrêter à une ligne en particulier.
comment faire ?
voici le code modifié:
Sub solde2()
ActiveSheet.Outline.ShowLevels RowLevels:=3
LigneSuivi = 1
NbLignes = 25000
For i = 1 To NbLignes
If Cells(i, 6).Value = "10-Soldé" Then
Rows(i).Select
Selection.Cut
Range("A1").Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Activate
Selection.Insert Shift:=xlDown
LigneSuivi = LigneSuivi + 1
NbLignes = NbLignes - 1
i = 3
End If
Next i
End Sub
je pense que je peux, dans un 1er temps filtré les "10-soldé" faire un CTRL+SHIFT+flèche du bas pour qu'il sache le nombre de ligne avec "10-soldé", défiltrer à nouveau et le faire tourner jusqu'à cette valeur!
est-ce possible??
Merci
ccm81
Messages postés
10855
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
29 avril 2024
2 404
30 mars 2012 à 10:55
30 mars 2012 à 10:55
tu devrais utiliser le principe que je t'ai suggéré plus haut
RQ1. le nombre total de lignes ne doit pas varier puisque tu ajoutes et supprimes une ligne
RQ2. il vaut mieux partir de la dernière ligne en décrémentant le numéro de ligne , ça te permet de t'arrêter lorsque tu as testé la ligne 1, et ça t'éviterait de modifier NbLignes
RQ3. une fois la valeur "10-Soldé" trouvé
- tu copies sa ligne après la dernière ligne (voir mon code)
- tu supprime sa ligne (idem)
RQ4. Je ne vois pas à quoi sert LigneSuivi
bonne site
RQ1. le nombre total de lignes ne doit pas varier puisque tu ajoutes et supprimes une ligne
RQ2. il vaut mieux partir de la dernière ligne en décrémentant le numéro de ligne , ça te permet de t'arrêter lorsque tu as testé la ligne 1, et ça t'éviterait de modifier NbLignes
RQ3. une fois la valeur "10-Soldé" trouvé
- tu copies sa ligne après la dernière ligne (voir mon code)
- tu supprime sa ligne (idem)
RQ4. Je ne vois pas à quoi sert LigneSuivi
bonne site
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
le nombre de lignes va changé car par exemple si au départ j'ai 100 ligne avec le "10-Soldé" dans la colonne F, quand je fais la mise à jour de mon tableau de bord, je peux avoir, par exemple la ligne 10 qui passe en "10-Soldé" et disons la n°50. donc je passe à 102. c'est pour ça que je veux filtrer d'abord en fonction du statut en colonne.
mais du coup en code ça donne quoi?? je découvre au fur et à mesure !!
merci pour l'aide
mais du coup en code ça donne quoi?? je découvre au fur et à mesure !!
merci pour l'aide
ccm81
Messages postés
10855
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
29 avril 2024
2 404
30 mars 2012 à 14:43
30 mars 2012 à 14:43
je ne comprends plus très bien
si dans la colonne n°6, il y a le texte "10-Soldé", alors la macro coupe la ligne et la colle après la dernière ligne du tableau.
cet exemple répond à cette question
https://www.cjoint.com/?0CEoQtXDu7A .
bonne suite
si dans la colonne n°6, il y a le texte "10-Soldé", alors la macro coupe la ligne et la colle après la dernière ligne du tableau.
cet exemple répond à cette question
https://www.cjoint.com/?0CEoQtXDu7A .
bonne suite