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

Résolu/Fermé
makbob Messages postés 14 Date d'inscription mercredi 30 mars 2016 Statut Membre Dernière intervention 15 avril 2016 - Modifié par ^Abel^ le 13/04/2016 à 13:23
makbob Messages postés 14 Date d'inscription mercredi 30 mars 2016 Statut Membre Dernière intervention 15 avril 2016 - 15 avril 2016 à 16:04
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 1504 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 31 janvier 2018 154
Modifié par melanie1324 le 13/04/2016 à 13:35
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 Date d'inscription mercredi 30 mars 2016 Statut Membre Dernière intervention 15 avril 2016
13 avril 2016 à 13:42
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 Date d'inscription mercredi 30 mars 2016 Statut Membre Dernière intervention 15 avril 2016
13 avril 2016 à 13:46
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 1504 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 31 janvier 2018 154
13 avril 2016 à 15:09
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 Date d'inscription mercredi 30 mars 2016 Statut Membre Dernière intervention 15 avril 2016
13 avril 2016 à 15:24
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 Date d'inscription mercredi 30 mars 2016 Statut Membre Dernière intervention 15 avril 2016
13 avril 2016 à 15:34
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 1504 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 31 janvier 2018 154
14 avril 2016 à 13:43
Hello,

regarde ce fichier et dis moi si cela correspond à ton attente :
https://www.cjoint.com/c/FDolRe5oDan
0
makbob Messages postés 14 Date d'inscription mercredi 30 mars 2016 Statut Membre Dernière intervention 15 avril 2016
14 avril 2016 à 14:59
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 1504 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 31 janvier 2018 154
14 avril 2016 à 18:03
oui j'ai compris. et je vois ce qu'il faut faire.
Je ferais la modif demain
0
makbob Messages postés 14 Date d'inscription mercredi 30 mars 2016 Statut Membre Dernière intervention 15 avril 2016
15 avril 2016 à 09:03
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 1504 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 31 janvier 2018 154
15 avril 2016 à 13:42
ben sinon voici le fichier sans ajouter une macro.
https://www.cjoint.com/c/FDplQzWXJnn
0
makbob Messages postés 14 Date d'inscription mercredi 30 mars 2016 Statut Membre Dernière intervention 15 avril 2016
15 avril 2016 à 16:04
Super, merci beaucoup pour tout. Bonne continuation.
0