J'ai un petit bout de code qui met un "X" en An si la=20
ligne est modifi=E9e.
Je souhaite, avant l'enregistrement du fichier, permettre=20
=E0 l'utilisateur=20
de supprimer ou non le contenu de cette colonne.
J'ai essay=E9 (apr=E8s maintes lectures google) :
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As=20
Boolean, Cancel As Boolean)
Message =3D MsgBox("Souhaitez-vous effacer la colonne A ?",=20
vbYesNo)
Select Case Message
Case Is =3D vbNo
Cancel =3D True
ActiveWorkbook.Save
Case Else
Cancel =3D False
Columns("A:A").Select
Selection.ClearContents
End Select
End Sub
mais =E7a ne fonctionne pas bien, si je r=E9ponds non il ne=20
me propose pas d'enregistrer le fichier et si je r=E9ponds=20
oui c'est mieux, mais la celulle A1 n'est pas effac=E9e.
A vous qui avez le privil=E8ge de lire mon tout premier=20
code VBA (sans enregistreur), mille remerciements pour=20
votre aide.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
dcdc2
ce qui se passe est normal, déjà puisque tu veux enregistrer dans tous les cas, tu n'as pas à jouer sur cancel, laisse les choses se faire normalement. Tu dois juste décider de quoi faire avant l'enregistrement.
Ensuite pour définir une colonne, tu dois la définir convenablement: columns("A"), columns(1) ou range("A:A")
essaye quelque chose de ce genre:
Message = MsgBox("Souhaitez-vous effacer la colonne A ?", vbYesNo) if Message = vbYes then range("A:A").ClearContents end if
d'ailleurs, puisque tu peux avoir plusieurs feuilles en cours ou plusieurs classeurs en même temps, je mettrais une sécurité du genre: Feuil1.range("A:A").clearContents
ce qui se passe est normal,
déjà puisque tu veux enregistrer dans tous les cas, tu n'as pas à jouer sur
cancel,
laisse les choses se faire normalement. Tu dois juste décider de quoi
faire avant l'enregistrement.
Ensuite pour définir une colonne, tu dois la définir convenablement:
columns("A"), columns(1) ou range("A:A")
essaye quelque chose de ce genre:
Message = MsgBox("Souhaitez-vous effacer la colonne A ?", vbYesNo)
if Message = vbYes then
range("A:A").ClearContents
end if
d'ailleurs, puisque tu peux avoir plusieurs feuilles en cours ou plusieurs
classeurs en même temps, je mettrais une sécurité du genre:
Feuil1.range("A:A").clearContents
ce qui se passe est normal, déjà puisque tu veux enregistrer dans tous les cas, tu n'as pas à jouer sur cancel, laisse les choses se faire normalement. Tu dois juste décider de quoi faire avant l'enregistrement.
Ensuite pour définir une colonne, tu dois la définir convenablement: columns("A"), columns(1) ou range("A:A")
essaye quelque chose de ce genre:
Message = MsgBox("Souhaitez-vous effacer la colonne A ?", vbYesNo) if Message = vbYes then range("A:A").ClearContents end if
d'ailleurs, puisque tu peux avoir plusieurs feuilles en cours ou plusieurs classeurs en même temps, je mettrais une sécurité du genre: Feuil1.range("A:A").clearContents
Clémentine
Merci beaucoup dcdc2,
Mais saurais-tu me dire pourquoi il est impossible d'effacer le contenu de la celulle A1 ?
Clémentine
Merci beaucoup dcdc2,
Mais saurais-tu me dire pourquoi il est impossible
d'effacer le contenu de la celulle A1 ?