• Initiateur de la discussion Initiateur de la discussion andré
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

J'ai du taper sur une mauvaise touche, donc je recommence.

Salut à tous et bonne et heureuse année à tous ceux à qui je ne l'ai pas encore souhaitée.

Question peut-être idiote, mais je ne trouve pas la solution :
Dans un tableau comptable, j'emploie à divers endroits des listes de choix (par validation), des RechercheV, ...
A la cloture de chaque mois, je veux figer les données introduites de façon à ne plus pouvoir les modifier.
Le Copier / Coller Spécial Valeurs fonctionne, sauf pour les listes de validation.

Comment supprimer ces listes de choix dans les cellules de la plage sélectionnée tout en maintenant les valeurs qui y ont été introduites ?

Pas compliqué sans doute, mais je n'y arrive pas de façon simple.

André.
 
Salut André
voici une petite procédure qui te permettra de trouver - et supprimer - toutes les listes de validation dans la feuille et de les détruire.

Sub DetruitValidation()
Dim cel As Range
For Each cel In Feuil1.UsedRange.SpecialCells(xlCellTypeAllValidation)
If cel.Validation.Type = xlValidateList Then cel.Validation.Delete
Next cel
End Sub
 
Salut Ti,

Heureux que tu sois là, alors profites-en car tes vacances sont bientôt finies (lol).

Je procédais de façon analogue, mais par macro enregistrée : je sélectionnais les listes par F5 / Cellules, puis je supprimais les listes par Validation.
Mais le" hic, c'est que toutes les listes sont sélectionnées, donc également supprimées, alors que je ne veux le faire que pour la partie de ma feuille préalablement sélectionnée.
En d'autres mots, je ne parviens pas à sélectionner dans une zone sélectionnée préalablement.
J'ai également cherché en essayant de mettre une sélection sur base du mois, mais je n'y suis pas parvenu.
Me connaissant, tu te doutes que j'essaie de le faire sans macro.

André.
 
Bonjour André, Bonjour Ti

J'espère que tu as bien commencé ton année de boulot !! (moi, comme Ti suis encore en Wouacance !!!

Bon j'ai juste traité le code Ti pour qu'il corresponde à ta demande :

Option Explicit

Sub DetruitValidation_PlageDéfinie()
Dim cel As Range
Dim Maplage As Range
Set Maplage = Sheets(1).Range("a1:d20")
On Error GoTo Sortie
For Each cel In Maplage.SpecialCells(xlCellTypeAllValidation)
If cel.Validation.Type = xlValidateList Then cel.Validation.Delete
Next cel
Set Maplage = Nothing
Exit Sub
Sortie:
MsgBox "Il n'y avait pas de liste de validation dans la plage"
End Sub


Sub DetruitValidation_ActiveSelection()
Dim cel As Range
On Error GoTo Sortie
For Each cel In Selection.SpecialCells(xlCellTypeAllValidation)
If cel.Validation.Type = xlValidateList Then cel.Validation.Delete
Next cel
Sortie:
MsgBox "Il n'y avait pas de liste de validation dans la sélection"
End Sub


Le premier code agit directement sur une plage prédéfinie. Le second sur l'active Séléction... A toi de voir ce qui convient.

PS J'y ai ajouté un "Error Hnadler, car si il n'y a pas de liste de validation, celà retourne une erreur.

Bonne Journée
@+Thierry
 
oups si tu utilise la macro de Active Sélection... j'ai zappé une ligne de code...

Sub DetruitValidation_ActiveSelection()
Dim cel As Range
On Error GoTo Sortie
For Each cel In Selection.SpecialCells(xlCellTypeAllValidation)
If cel.Validation.Type = xlValidateList Then cel.Validation.Delete
Next cel
Exit Sub
Sortie:
MsgBox "Il n'y avait pas de liste de validation dans la sélection"
End Sub

sinon tu auras tt le tmp le message !!!
 
bonjour forum, bonjour Thierry,

Je vois que tu es deja fort actif ce matin, moi je recommce demain le boulot, arg

Je vais essaye de ne pas t'harcelé de question aujourh'dui, en tous cas je vous souhaite a toi et a tous le forum une bonne journée

Christophe
 
Merci à tous, mais j'ai trouvé ce que je cherchais :

Je sélectionne les lignes dans lesquelles je veux supprimer la validation, puis par Validation / Liste, je supprime la validation (bouton inférieur gauche : Alles Wissen en ND).
C'est tout.

J'ai enregistré cette procédure sous une macro en y ajoutant un Copier/ Collage Spécial Valeurs de la plage sélectionnée.

André.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
8
Affichages
213
Réponses
6
Affichages
166
  • Question Question
XL 2016 liste
Réponses
10
Affichages
210
Réponses
10
Affichages
379
Réponses
6
Affichages
162
Réponses
4
Affichages
228
  • Question Question
Microsoft 365 Graphique
Réponses
3
Affichages
124
  • Question Question
XL 2021 planning
Réponses
5
Affichages
220
Retour