Déplacer une ligne selon une couleur sur une autre feuille

Résolu
GAGUAS -  
 sinane123 -
Bonjour,

J'aimerais déplacer automatiquement via une macro les lignes en bleu (soit les lignes avec une date de retour effective et une "X" dans la colonne "Complet") de ma première feuille dans ma feuille "ARCHIVES" afin d'avoir que mes encours dans ma feuille de travail.

http://cjoint.com/?0IluPy7W6f3

Merci d'avance à ceux qui se pencheront sur mon cas.

Bien cordialement

14 réponses

  1. via55 Messages postés 14396 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    Bonsoir

    Ça ne marchait pas car tu avais crée 2 macros avec le même nom, l'une dans module et l'autre dans le worksheet de la feuille
    J'ai reporté celle de la feuille dans le module et supprimé les macros en trop et c'est bon
    https://www.cjoint.com/?0Imxvv4aieT

    Cdlmnt
    1
  2. sinane123
     
    bonjour
    j'ai ajouté un boucle dans mon code
    http://cjoint.com/?DInoLXMI8hN
    1
  3. via55 Messages postés 14396 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    Bonsoir

    Après avoir supprimé la ligne vide du titre (en 7) :

    https://www.cjoint.com/?0IlvAKmlwrT

    Si les noms des feuilles changent les changer en début de macro (ALT F11 pour voir le code)

    Cdlmnt
    0
  4. GAGUAS
     
    Bonsoir,

    Tout d'abord merci, ça marche bien dans l'extrait de fichier que je vous ai envoyé mais sur mon fichier d'origine, ça ne fonctionne pas.

    J'ai bien recopier le code dans mon fichier d'origine et renommer f="SORTIE PRESSE RTW"

    Je ne vois pas pourquoi, est-ce le nom de la feuille "f" qui peut poser problème ?

    Cordialement
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. sinane123
     
    bonjour,
    j'arrive a résoudre votre probleme mais j'ai inseré une feuil1

    Sub Bouton1_Cliquer()
    Dim Num As Long
    Dim celluletrouvee As Range
    Dim Test As Range
    Dim ligne As Integer
    Dim col As Integer
    Dim I As Integer
    Dim TxtB As String
    Dim L As Integer
    '
    '

    Set celluletrouvee = Range("J:J").Find("X", LookIn:=xlValues, lookat:=xlWhole)
    If celluletrouvee Is Nothing Then
    MsgBox ("valeur pas trouvée !")
    Else
    ligne = celluletrouvee.Row
    col = celluletrouvee.Column
    MsgBox ("Valeur est Trouvée")
    Rows([ligne]).Select
    Selection.Cut
    Sheets("Feuil1").Select
    L = Sheets("Feuil1").Range("a200").End(xlUp).Row + 1
    Rows([L]).Select
    ActiveSheet.Paste
    Sheets("Feuille ").Select
    Selection.Delete Shift:=xlUp
    End If
    End Sub
    0
  7. via55 Messages postés 14396 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    Bonjour

    Es tu sûr que les noms des onglets et les noms des feuilles dans la macro sont rigoureusement identiques ?
    Il peux y avoir un espace avant ou après dans le nom d'un onglet qu n'est pas visible comme ça, mais comme il n'y en pas dans les noms dans la macro ça bug

    Sinon il n'y pas de raison que ça ne fonctionne pas

    Cdlmnt
    0
  8. via55 Messages postés 14396 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    Re

    Le code n'est pas celui que je t'avais envoyé mais il fonctionne sauf que tu es obligé de valider pour chaque ligne à archiver ! et qu'il place dans une autre feuille qu'Archives!

    Par contre le problème venait bien du nom de ta feuille de base qui est nommée Feuille dans l'onglet AVEC un espace après (il a été repris dans la macro donc ça fonctionne)

    Si tu veux que la mienne fonctionne il faut :
    -soit remplacer dans la macro le nom de f "Feuille" par "Feuille "
    -soit renommer l'onglet en supprimant l'espace après Feuille

    Cdlmnt
    0
  9. sinane123 Messages postés 9 Statut Membre
     
    salut,
    le fichier que vous envoyés ne contient aucun code.!!!!
    0
  10. GAGUAS
     
    Bonjour à tous,

    Voilà ce que j'ai fait à partir du premier envoi de via55, j'ai remplacer les noms de feuilles et les colonnes "I" et "J" par "N" et "M" sur ligne If....

    Ca fonctionnait sur l'exemple de via55, j'aimerais savoir pourquoi ça ne fonctionne pas avec moi.

    http://cjoint.com/?3ImtaUBsKwU

    Si ça ne fonctionne pas, je testerai ta méthode sinane123

    Merci à tous les deux,

    Cordialement
    0
  11. sinane123 Messages postés 9 Statut Membre
     
    bonsoir,
    j'ai essayé de modifier votre fichier mes avec mon code vba plus tard je travaille sur la boucle pour déplacer tous les lignes simultanément
    https://www.cjoint.com/?DImxLqmMirN
    0
  12. sinane123 Messages postés 9 Statut Membre
     
    bonsoir,

    bon travail Mr via55
    0
    1. via55 Messages postés 14396 Date d'inscription   Statut Membre Dernière intervention   2 759
       
      Merci sinane123 ;)
      0
  13. GAGUAS
     
    Bonjour à tous les deux,

    Je vois que j'ai lancé une compétition, c'est bien

    Sinane123, effectivement, si on peut supprimer toutes les lignes en même temps et éviter le message valeur trouvée, ce serait super. Je n'ai pas encore transposé ton code dans mon fichier d'origine.

    Via55, j'ai bien renommé mes feuilles méticuleusement dans mon fichier d'origine et ça ne fonctionne toujours pas, je ne suis décidément pas douée.

    Bonne journée

    Cordialement
    0
  14. via55 Messages postés 14396 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    Bonjour

    J'ai posté un message hier expliquant que le probleme venait que tu avais crée 2 macros avec le même nom une dans Module 1 et une dans le worksheet de la feuille mais tu ne semble pas l'avoir vu
    En mettant la bonne macro dans le module et en supprimant les autres ça fonctionne :
    https://www.cjoint.com/?0InjZv99Rb9

    Cdlmnt

    "L'imagination est plus importante que le savoir." A. Einstein
    0