Effacer le contenu d'une cellule en fin de macro. [Résolu/Fermé]

Signaler
Messages postés
14
Date d'inscription
mercredi 30 mars 2016
Statut
Membre
Dernière intervention
15 avril 2016
-
Messages postés
14
Date d'inscription
mercredi 30 mars 2016
Statut
Membre
Dernière intervention
15 avril 2016
-
Bonjour,
J'ai une macro qui s'exécute parfaitement bien et qui sert à basculer une ligne d'une de la liste d'attente à la liste des mesures en place. Je souhaiterai qu'après l'exécution de la macro la cellule où la condition qui permet ce transfert soit effacer (effacer formule). la Macro :
Sub Recopier()
Application.ScreenUpdating = False 'fige ecran
Ln1 = 8
With Worksheets("TB SITUATION EN ATTENTE") 'mettre le nom de l'onglet Liste d'attente
'premiere cellule vide
Ln2 = Sheets("TB SITUATION EN PLACE").Range("B" & Rows.Count).End(xlUp).Row + 1
If Ln2 < 8 Then Ln2 = 8
While .Cells(Ln1, 1).Value <> ""
If UCase(.Range("Q" & Ln1).Value) = "MEP" Then
Sheets("TB SITUATION EN PLACE").Range("B" & Ln2 & ":M" & Ln2).Value = .Range("B" & Ln1 & ":M" & Ln1).Value
Ln2 = Ln2 + 1
End If
Ln1 = Ln1 + 1
Wend
End With
Sheets("TB SITUATION EN PLACE").Activate
Range("B7").CurrentRegion.Select
With Range("B8:M" & Ln2 - 1)

End With
Application.ScreenUpdating = True

End Sub
A la fin de cette macro il faut que la cellule S sur la ligne qui est copiée soit effacée et coloriée en jaune. Merci beaucoup pour votre aide

8 réponses

Messages postés
1505
Date d'inscription
vendredi 25 mai 2007
Statut
Membre
Dernière intervention
31 janvier 2018
137
Bonjour,


Sub Recopier()
Application.ScreenUpdating = False 'fige ecran
Ln1 = 8
With Worksheets("TB SITUATION EN ATTENTE") 'mettre le nom de l'onglet Liste d'attente
'premiere cellule vide
Ln2 = Sheets("TB SITUATION EN PLACE").Range("B" & Rows.Count).End(xlUp).Row + 1
If Ln2 < 8 Then Ln2 = 8
While .Cells(Ln1, 1).Value <> ""
If UCase(.Range("Q" & Ln1).Value) = "MEP" Then
Sheets("TB SITUATION EN PLACE").Range("B" & Ln2 & ":M" & Ln2).Value = .Range("B" & Ln1 & ":M" & Ln1).Value
Ln2 = Ln2 + 1
End If
Ln1 = Ln1 + 1
Wend
End With
Sheets("TB SITUATION EN PLACE").Activate
Range("B7").CurrentRegion.Select
With Range("B8:M" & Ln2 - 1)

End With
Application.ScreenUpdating = True

Sheets("TB SITUATION EN PLACE").cells("S" & Ln2) = ""
Sheets("TB SITUATION EN PLACE").cells("S" & Ln2).Interior.Color = 65535

End Sub
Messages postés
14
Date d'inscription
mercredi 30 mars 2016
Statut
Membre
Dernière intervention
15 avril 2016

Bonjour,
Avant toute chose merci d'avoir répondu à ma demande. Je viens de l'essayer et il m'affiche une erreur d'exécution 5. La suppression du contenu de la cellule doit se faire sur la feuille "TB SITUATION EN ATTENTE" puisque la ligne est copiée de cette feuille vers l'autre. J'ai essayé de changé le nom de la feuille dans ce que vous m'avez proposé mais çà ne fonctionne pas.
Messages postés
14
Date d'inscription
mercredi 30 mars 2016
Statut
Membre
Dernière intervention
15 avril 2016

Re,
Désolé je me suis trompé de colonne en fait la cellule est sur la colonne Q. C'est cette cellule qui conditionne le transfert de la ligne vers la liste des situations en cours. Merci
Messages postés
1505
Date d'inscription
vendredi 25 mai 2007
Statut
Membre
Dernière intervention
31 janvier 2018
137
j'ai compris d'ou venait l'erreur :

Sub Recopier()
Application.ScreenUpdating = False 'fige ecran
Ln1 = 8
With Worksheets("TB SITUATION EN ATTENTE") 'mettre le nom de l'onglet Liste d'attente
'premiere cellule vide
Ln2 = Sheets("TB SITUATION EN PLACE").Range("B" & Rows.Count).End(xlUp).Row + 1
If Ln2 < 8 Then Ln2 = 8
While .Cells(Ln1, 1).Value <> ""
If UCase(.Range("Q" & Ln1).Value) = "MEP" Then
Sheets("TB SITUATION EN PLACE").Range("B" & Ln2 & ":M" & Ln2).Value = .Range("B" & Ln1 & ":M" & Ln1).Value
Ln2 = Ln2 + 1
End If
Ln1 = Ln1 + 1
Wend
End With
Sheets("TB SITUATION EN PLACE").Activate
Range("B7").CurrentRegion.Select
With Range("B8:M" & Ln2 - 1)

Sheets("TB SITUATION EN PLACE").range("S" & Ln2) = ""
Sheets("TB SITUATION EN PLACE").range("S" & Ln2).Interior.Color = 65535


End With
Application.ScreenUpdating = True


End Sub
Messages postés
14
Date d'inscription
mercredi 30 mars 2016
Statut
Membre
Dernière intervention
15 avril 2016

Merci mais j'ai essayé avant cette option mais çà ne fonctionne pas. J'ai toujours le même message "erreur d'exécution 5"
Messages postés
14
Date d'inscription
mercredi 30 mars 2016
Statut
Membre
Dernière intervention
15 avril 2016

je vous envoie le fichier si vous voulez le tester. C'est vrai que sans le fichier c'est difficile de voir d'où vient l'erreur. Merci par avance
http://www.cjoint.com/c/FDnnGCgZRLs
Messages postés
1505
Date d'inscription
vendredi 25 mai 2007
Statut
Membre
Dernière intervention
31 janvier 2018
137
Hello,

regarde ce fichier et dis moi si cela correspond à ton attente :
https://www.cjoint.com/c/FDolRe5oDan
Messages postés
14
Date d'inscription
mercredi 30 mars 2016
Statut
Membre
Dernière intervention
15 avril 2016

Bonjour,
Merci d'avoir pris le temps de voir le fichier. Cà fonctionne mais que pour la première cellule alors que normalement quand on saisi la deuxième ligne çà devra faire la même opération. Le principe est de basculer chaque ligne en attente vers l'autre feuille tout en gardant les lignes copier. La suppression du contenu de la cellule permet d'éviter que la même ligne soit copier une deuxième fois. J'espère que mes explications sont claires. Encore merci pour votre aide.
Messages postés
1505
Date d'inscription
vendredi 25 mai 2007
Statut
Membre
Dernière intervention
31 janvier 2018
137
oui j'ai compris. et je vois ce qu'il faut faire.
Je ferais la modif demain
Messages postés
14
Date d'inscription
mercredi 30 mars 2016
Statut
Membre
Dernière intervention
15 avril 2016

Bonjour,
C'est bon j'ai inséré une autre macro pour effacer la cellule car j'en ai besoin en urgence. Merci beaucoup pour votre aide. C'est sympa de votre part. Bonne continuation.
Messages postés
1505
Date d'inscription
vendredi 25 mai 2007
Statut
Membre
Dernière intervention
31 janvier 2018
137
ben sinon voici le fichier sans ajouter une macro.
https://www.cjoint.com/c/FDplQzWXJnn
Messages postés
14
Date d'inscription
mercredi 30 mars 2016
Statut
Membre
Dernière intervention
15 avril 2016

Super, merci beaucoup pour tout. Bonne continuation.