VIVEZ LE
FOOTBALL !

Posez votre question Signaler

Excel VBA : Boucle couper/coller [Résolu]

Eaheru 142Messages postés 23 juin 2010Date d'inscription 20 décembre 2011Dernière intervention - Dernière réponse le 20 août 2010 à 10:47
Bonjour,
Je souhaiterais écrire une macro scruter la colonne "A" depuis la ligne 2jusqu'à la ligne 1000 afin de voir si la chaine de caractère qui s'y trouve contient "Non*" ou pas.
Si elle contient une valeur commençant par "Non" je souhaiterait "couper" la ligne en question depuis l'onglet 1 et la coller sur l'onglet 2 sur la ligne 2.
Ensuite on reprend la scrutation des lignes de l'onglet 1 la ou on s'est arrêté et si on trouve une nouvelle ligne dont la cellule "A" contient "Non*", on répète la fonction "couper" puis on la colle sur l'onglet 2, juste en dessous de la première.
Et ce jusqu'à la fin des 1000 lignes
Je suis un peu sec sur ce coup. alors si l'un de vous a une solution a me proposer, je suis bien évidement preneur :)
Merci d'avance pour votre aide
Lire la suite 

Excel VBA : Boucle couper/coller »

4 réponses
Réponse
+0
moins plus
Bonjour,
une petite précision ?
qu'y-a-t-il exactement dans la cellule Ax
A+
Ajouter un commentaire
Réponse
+0
moins plus
Dans un premier temps essaye avec ...
Sub Transfert()
Dim Lig As Long, LigCopie As Long, DerLig As Long
    LigCopie = 2: DerLig = Range("A65536").End(xlUp).Row
    For Lig = 1 To DerLig
        If Cells(Lig, 1) Like "Non*" Then
            Rows(Lig).Copy Sheets("Feuil2").Rows(LigCopie)
            Rows(Lig).Delete
            LigCopie = LigCopie + 1
            Lig = Lig - 1
        End If
    Next Lig
End Sub

A coller dans le module de la feuille ou ont supprime les lignes et adapter le nom Feuil2 au nom de la feuille où copier.
A+
Ajouter un commentaire
Réponse
+0
moins plus
Bonsoir Lermite222 :)
Dans la colonne A, un certain nombre de cellules sont remplies avec "Lancé" ou "Non Lancé"
Au final, Je souhaite basculer tout les non lancés sur l'onglet N°2.

Merci pour ta proposition, je vais essayer dès demain matin.

Bonne soirée
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour,

Je viens de tester cette macro en la modifiant très légèrement car je centralise ces utilitaires sur un fichier spécifique. Voici ce que ça donne :

Sub Transfert()
' ouverture du fichier des manquants
Workbooks.Open Filename:= "D:Liste manquant.xls"

' ajout d'un onglet pour stockage des action non lancées
Sheets.Add After:=Sheets(Sheets.Count)

Dim Lig As Long, LigCopie As Long, DerLig As Long

' activation de la feuille 1
Sheets("Liste manquants").Select
LigCopie = 2: DerLig = Range("A65536").End(xlUp).Row
For Lig = 1 To DerLig
If Cells(Lig, 2) Like "Non*" Then
Rows(Lig).Copy Sheets("Feuil1").Rows(LigCopie)

' activation de la feuille 1
Sheets("Liste manquants").Select
Rows(Lig).Delete
LigCopie = LigCopie + 1
Lig = Lig - 1
End If
Next Lig
ActiveWorkbook.Save
End Sub

Et ca marche parfaitement !
Encore merci, une nouvelle fois
Ajouter un commentaire
Ce document intitulé « Excel VBA : Boucle couper/coller » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?