Re-bonjour,
Juste une petite question, dans une même feuille, comment changer le format d'une cellule (la passer en gras et en souligné) si une autre cellule a été modifié :
Merci
Re-bonjour,
Juste une petite question, dans une même feuille, comment changer le format d'une cellule (la passer en gras et en souligné) si une autre cellule a été modifié :
Merci
Bonjour,
Tu ne peux pas à partir d'une formule:
Avec la mise en forme conditionnelle tu devrais trouver une piste...
Sinon, il faut envisager une macro événementielle qui détecte la valeur avant et la compare par rapport à la valeur après et agit en conséquence sur la cellule à mettre en forme.
Argy
Juste une question : Comment comptes-tu la modifier, la cellule ? Manuellement ou par macro ?
A+
Avec une macro !
Je pensais faire une boucle sur les cellules que j'ai à tester, mais je ne sais pas comment m'y prendre, et surtout ou la placer ?
Dans la feuille, dans un module, dans ThisWorkbook ?
Merci d'avance .
Salut!
Je ne sais pas si c'est bien ce que tu veux faire, mais en mettant ce code dans la feuille de code associée à l'onglet où tu travailles:
tu déclenches une macro lorsque la cellule A1 est modifiée.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$A$1" Then MsgBox ("Hello!") End If End Sub
Si tu mets, à la place de mon "Hello!", une modification du format de cellule, ça peut ressembler à ce que tu cherches à faire.
Oui, c'était tout à fait ce que je voulais faire !
Mais je me rends compte en utilisant mon tableau, qu'il vaut mieux que je teste le contenu de la cellule A1, et non pas que je teste si elle a été modifiée.
Par exemple, si A1 est vide, C5 ne change pas de format
Mais si A1 n'est plus vide(quelque soit le contenu), C5 passe en gras.
Et vice-versa.
Merci. :
Et ben, tu refais un test à l'interieur du test sur la cellule.
Et tu regardes
Si ça vaut ""; tu fais un truc, sinon, tu en fais un autre (j'ai pas trop suivi ta description...)
Code : Sélectionner tout - Visualiser dans une fenêtre à part Cells(1,1).Value
Oui, oui, j'étais déjà en train de bidouiller un truc du style :
Et ça me convient tout à fait.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$B$5" Then If Range("B5") = "" Then Range("C1").Font.Bold = False Range("C1").Font.Italic = False End If If Range("B5") <> "" Then Range("C1").Font.Bold = True Range("C1").Font.Italic = True End If End If End Sub
Y'a-t-il simplement un moyen de raccourcir le tout car j'ai pas mal de cellules à tester, et je voudrais ecrire le moins possible de code.
Encore un petit truc, pour souligner du texte, c'est quoi l'instruction exacte après Font :
Thank You.
Si on te donne la réponse, la prochaine fois que tu auras à le faire, ou tu auras oublié ou il faudra que tu retournes sur le code que tu vas écrire.
Pour ma part, je préfère que tu enregistres une macro, que tu soulignes du texte dans une cellule et que tu décortiques le code ----> F1, t'as essayé ? C'est magique !
Ca c'est vraiment une bonne idée !
Sympa de m'y avoir fait penser.
A pouët.
Sinon, pour raccourcir ton code:
- Tu peux remplacer tes 2 tests sur la valeur de la cellule par un seul, evec un "else", puisque les conditions sont opposées (il doit y avoir un terme plus juste, mais bon...);
- D'après ton test, "Range("B5")", c'est justement "Target';
- Pour réaliser ce test sur plusieurs cellules, crée une zone regroupant toutes les cellules à tester, puis mets ton code dans une boucle "For Each Cellule In MaZone..."
Qu'est-ce que tu entends par créer une zone, car les cellules a tester ne sont pas adjacentes.Envoyé par Megaxel
Faut-il que je déclare une variable du style MaZone = A1,B12;L4, etc...
Merci pour le "Else", c'est déjà un peu mieux.
Un petit truc qui n'a rien, mais alors vraiment rien à voir avec ce que tu veux faire:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 Sub Macro1() ' ' Macro1 Macro ' Macro enregistrée le 06/02/2006 par PLASSEAL ' ' Range("F11,E7,C10,D15,E19,E23,F26").Select Range("F26").Activate ActiveWorkbook.Names.Add Name:="MaZone", RefersToR1C1:= _ "=Feuil1!R11C6,Feuil1!R7C5,Feuil1!R10C3,Feuil1!R15C4,Feuil1!R19C5,Feuil1!R23C5,Feuil1!R26C6" Range("E23").Select Range("Mazone").Interior.ColorIndex = 6 End Sub
Sinon, tu peux aussi créer un tableau de cellules...
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager