Macro Couper coller avec condition

David -  
pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

J'ai un fichier que je voudrais automatiser. J'ai une macro qui dit quand je fais Ctrl+F, mettre dans la colonne G "Fait".
Par contre, j'aimerais que mes lignes de projet, dès qu'elles passent en statut "fait", soient coupés et collés dans un autre onglet.

1) Est ce possible?
2) Comment faire?

PS : je suis débutant :-)

3 réponses

  1. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    Bonjour,
    Dans un premier temps, dans ton classeur Excel, tape ALT+F11 et cherche dans le(s) module(s) ton code de macro. Tu verras, il commence par : Sub NomDeTaMacro().
    Reviens coller tout ton code ici.
    Ensuite, pour couper/coller dans un autre onglet, il nous faudra le nom des feuilles sources et destinations.
    0
  2. David
     
    Merci pour ce début de réponse.

    L'onglet source est "Projets" et l'onglet destinataire et "Projets réalisés".
    0
    1. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
       
      Oui. Ok. Mais ton code, il est ou?
      0
    2. David
       
      Sub Fait()
      '
      '
      ' Touche de raccourci du clavier: Ctrl+Maj+F
      '
      colonne = 7
      ligne = ActiveCell.Row
      Cells(ligne, colonne) = "Fait"
      Cells(ligne, colonne + 34) = Now()

      End Sub
      0
  3. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    Donc, à la place du code que tu nous as donné, mets celui-ci :

    Sub Fait() 
    ' 
    ' 
    ' Touche de raccourci du clavier: Ctrl+Maj+F 
    ' 
    Dim ligne As Integer, colonne As Integer
    colonne = 7 
    ligne = ActiveCell.Row 
    Cells(ligne, colonne) = "Fait" 
    Cells(ligne, colonne + 34) = Now() 
    Rows(ligne).EntireRow.Cut Sheets("Projets réalisés").Range("A65536").End(xlUp).Offset(1, 0)
    'Rows(ligne).EntireRow.Delete
    End Sub


    1- Vérifie d'abord, dans ce code, le nom de la feuille destination (accents, majuscules)
    2- Si tu veux que la ligne coupée soit supprimée, enlève l'apostrophe au début de la dernière ligne de code ('Rows(ligne).EntireRow.Delete)
    A tester d'abord dans une copie de ton fichier....... Pour éviter toute surprise.
    Rappel : une erreur faite par macro ne peux pas être annulée par "Annuler"...
    0