Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Actualisation des cellules sur une feuille entière...

  • Initiateur de la discussion Initiateur de la discussion argonan
  • 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 !

A

argonan

Guest
Bonjour,

On m'a demandé de faire un p'tit programme sous excel pour crées des étiquettes que l'on collera sur des dossiers...

Chaque chiffre à une couleur de fond défini...

1 en fond noir
2 en fond rouge

Grace à la macro "metencouleur" il suffit de taper le nombre et appuyer sur entrée... mais quand on utilise des cellules cibles :

A9 = A1 ; B9 = A9, etc...

Et bien cela ne met pas à jour les couleur de fond...

avez vous une idées pour m'aider, je vous envoi mon fichier excel....

Merci d'avance
 

Pièces jointes

Re : Actualisation des cellules sur une feuille entière...

Bonjour Argonan,

Chez moi cela fonctionne 😕

Si tu saisies dans la cellule A9 : "=A1"
La cellule se met bien en rouge !?

Je ne sais pas ce qui ne va pas de ton côté ...

A+
 
Re : Actualisation des cellules sur une feuille entière...

et bien quand je met 2 dans la cellule A1... le fond de la cellule deviens rouge.

La cellule A9 affiche bien "2" mais le fond de la cellule ne change pas....

c'est bisard...
 
Re : Actualisation des cellules sur une feuille entière...

Re,
Salut Vbacrumble 😉

et bien quand je met 2 dans la cellule A1... le fond de la cellule deviens rouge.
La cellule A9 affiche bien "2" mais le fond de la cellule ne change pas....
Dans ce sens là, c'est logique 😛

Puisque tu as le code dans l'évènement "Change",
donc seule la cellule modifiée est mise à jour
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
  Dim iSect As Range, NoChange As Boolean
  Set iSect = Application.Intersect(Target, Range("A1:Z50"))
  Application.CalculateFull
  If iSect Is Nothing Then GoTo Exit_WorksheetChange
  If InStr(1, Target.Address, ":") > 1 Then GoTo Exit_WorksheetChange
  MetEnCouleurs Target.Row, Target.Column, Target.Value
  Application.CalculateFull
Exit_WorksheetChange:
  Set iSect = Nothing
End Sub

Donc si tu veux tout mettre à jour à chaque fois,
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
  Dim [COLOR=blue]Cel As Range[/COLOR], iSect As Range, NoChange As Boolean, [COLOR=blue]Plg As Range
[/COLOR]  ' Définir la plage de mise en forme
  Set Plg = Range("A1:Z50")
  Set iSect = Application.Intersect(Target, Plg)
  Application.CalculateFull
  If iSect Is Nothing Then GoTo Exit_WorksheetChange
  If InStr(1, Target.Address, ":") > 1 Then GoTo Exit_WorksheetChange
  ' Pour chaque cellule de la plage
  [COLOR=blue]For Each Cel In Plg
    MetEnCouleurs Cel.Row, Cel.Column, Cel.Value
  Next Cel[/COLOR]
  Application.CalculateFull
Exit_WorksheetChange:
  Set iSect = Nothing
End Sub

Voili, voilà 😉
 
- 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

M
Réponses
6
Affichages
3 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…