Comment appliquer une mise en forme VBA à toutes les cellules ?
Résolu
JF123
Messages postés
3
Date d'inscription
Statut
Membre
Dernière intervention
-
JFA123 -
JFA123 -
Bonjour, voici mon code (il permet d'afficher plusieurs choix dans une cellule à partir d'une liste déroulante). Mais, je n'arrive pas à l'appliquer à toutes les cellules. J'y travaille depuis 3 heures !
Merci pour votre aide
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$F$6" And Target.Count = 1 Then
Application.EnableEvents = False
ValSaisie = Target
Application.Undo
p = InStr(Target, ValSaisie)
If p > 0 Then
Target = Left(Target, p - 1) & Mid(Target, p + Len(ValSaisie) + 1)
If Right(Target, 1) = ":" Then
Target = Left(Target, Len(Target) - 1)
End If
Else
If Target = "" Then
Target = ValSaisie
Else
Target = Target & ":" & ValSaisie
End If
End If
Application.EnableEvents = True
End If
End Sub
Merci pour votre aide
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$F$6" And Target.Count = 1 Then
Application.EnableEvents = False
ValSaisie = Target
Application.Undo
p = InStr(Target, ValSaisie)
If p > 0 Then
Target = Left(Target, p - 1) & Mid(Target, p + Len(ValSaisie) + 1)
If Right(Target, 1) = ":" Then
Target = Left(Target, Len(Target) - 1)
End If
Else
If Target = "" Then
Target = ValSaisie
Else
Target = Target & ":" & ValSaisie
End If
End If
Application.EnableEvents = True
End If
End Sub
A voir également:
- Comment appliquer une mise en forme VBA à toutes les cellules ?
- Mise en forme conditionnelle excel - Guide
- Mise en forme tableau word - Guide
- Mise a jour chrome - Accueil - Applications & Logiciels
- Mise a jour windows 10 - Accueil - Mise à jour
- Appliquez à tous les paragraphes du document à télécharger, à l’exception des titres et des sous-titres, la mise en forme suivante : - Guide
5 réponses
Bonjour
qu'elle est la cellule liée à la liste déroulante?
où doit s'afficher le résultat?
Au premier abord, il semblerait que le programme ne se déroule que si c'est la cellule F6 qui est sélectionnée, donc si ce n'est pas le cas on en sort.
Pouvez-vous nous donner plus de précisions?
cdlt
qu'elle est la cellule liée à la liste déroulante?
où doit s'afficher le résultat?
Au premier abord, il semblerait que le programme ne se déroule que si c'est la cellule F6 qui est sélectionnée, donc si ce n'est pas le cas on en sort.
Pouvez-vous nous donner plus de précisions?
cdlt
Bonjour
D'abord merci pour votre aide.
Vous avez vu juste, c'est la cellule F6 qui est visée le code.
J'ai affecté à la cellule F6 une liste déroulante classique ("validation des données"), ainsi, cela me permet de sélectionner plusieurs choix de ma liste et que tous ces choix apparaissent dans la cellule F6 (ils sont juste séparés par :), le résultat est impeccable.
Mon problème est que je voudrais le faire sur d'autres cellules de ma feuille. Alors, je fais un copier coller de mon code sur la nouvelle cellule et je change la cellule sélectionnée sur le code : "If Target.Address = "$F$6" And Target.Count = 1 Then" et je mets une liste déroulante.
Et là, du coup ma cellule F6 ne fonctionne plus !
Avez-vous une idée pour que mon code s'applique à toutes les cellules que je veux, et pas à une seule ?
Cdlt
D'abord merci pour votre aide.
Vous avez vu juste, c'est la cellule F6 qui est visée le code.
J'ai affecté à la cellule F6 une liste déroulante classique ("validation des données"), ainsi, cela me permet de sélectionner plusieurs choix de ma liste et que tous ces choix apparaissent dans la cellule F6 (ils sont juste séparés par :), le résultat est impeccable.
Mon problème est que je voudrais le faire sur d'autres cellules de ma feuille. Alors, je fais un copier coller de mon code sur la nouvelle cellule et je change la cellule sélectionnée sur le code : "If Target.Address = "$F$6" And Target.Count = 1 Then" et je mets une liste déroulante.
Et là, du coup ma cellule F6 ne fonctionne plus !
Avez-vous une idée pour que mon code s'applique à toutes les cellules que je veux, et pas à une seule ?
Cdlt
Bonsoir
il faut lister l'emplacement de toutes les cellules concernées et remplacez
"If Target.Address = "$F$6" And Target.Count = 1 Then" par
************************************************************
if Target.Count <> 1 then exit sub
"If Target.Address = "$F$6" or Target.Address = "$F$10" or Target.Address = "$F$20" Then
************************************************************
par exemple pour les cellules F6, F10 ou F20
ça devrait aller
cdlt
il faut lister l'emplacement de toutes les cellules concernées et remplacez
"If Target.Address = "$F$6" And Target.Count = 1 Then" par
************************************************************
if Target.Count <> 1 then exit sub
"If Target.Address = "$F$6" or Target.Address = "$F$10" or Target.Address = "$F$20" Then
************************************************************
par exemple pour les cellules F6, F10 ou F20
ça devrait aller
cdlt
Merci pour votre aide, j'essaie votre solution dès lundi et je vous tiendrai au courant.
Encore merci, très bon weekend.
Encore merci, très bon weekend.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question