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 :-)
A voir également:

3 réponses

pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 768
 
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
David
 
Merci pour ce début de réponse.

L'onglet source est "Projets" et l'onglet destinataire et "Projets réalisés".
0
pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 768
 
Oui. Ok. Mais ton code, il est ou?
0
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
pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 768
 
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