Effacer le contenu d'une cellule en fin de macro.

Résolu
makbob Messages postés 14 Statut Membre -  
makbob Messages postés 14 Statut Membre -
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

melanie1324 Messages postés 1561 Statut Membre 155
 
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
0
makbob Messages postés 14 Statut Membre
 
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.
0
makbob Messages postés 14 Statut Membre
 
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
0
melanie1324 Messages postés 1561 Statut Membre 155
 
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
0
makbob Messages postés 14 Statut Membre
 
Merci mais j'ai essayé avant cette option mais çà ne fonctionne pas. J'ai toujours le même message "erreur d'exécution 5"
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
makbob Messages postés 14 Statut Membre
 
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
0
melanie1324 Messages postés 1561 Statut Membre 155
 
Hello,

regarde ce fichier et dis moi si cela correspond à ton attente :
https://www.cjoint.com/c/FDolRe5oDan
0
makbob Messages postés 14 Statut Membre
 
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.
0
melanie1324 Messages postés 1561 Statut Membre 155
 
oui j'ai compris. et je vois ce qu'il faut faire.
Je ferais la modif demain
0
makbob Messages postés 14 Statut Membre
 
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.
0
melanie1324 Messages postés 1561 Statut Membre 155
 
ben sinon voici le fichier sans ajouter une macro.
https://www.cjoint.com/c/FDplQzWXJnn
0
makbob Messages postés 14 Statut Membre
 
Super, merci beaucoup pour tout. Bonne continuation.
0