Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Changer l'aspect d'une cellule avec liaison

7 réponses
Avatar
ManBas
Bonjour à tous,
J'ai une feuille qui est une re-copie avec liaison d'une autre feuille (mise
en page différente des mêmes données).
Mon objectif = encadrer la cellule d'une bordure, si la cellule contient du
texte.

1) La MFC ne marche pas car le contenu de la cellule peut être trés variable
(plus de 3 possibilités).
2) Le code:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Address = "$e$9" Then
If Target <> "" Then MsgBox "ça marche"
End If
End Sub
... ne fonctionne pas non plus. Mon code est sans doute mal écrit?
Quelle solution me proposez-vous?
Merci par avance.

7 réponses

Avatar
ABED HADDOU
Bonjour "ManBas"
si j'ai bien compris , voila ce que je te propose pour la question N°2
si la cellule E9 contient une valeur le cursseur passe à la suivante si non
la cellule
en question sera activé .

témoinúlse
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect([E9], [F9], Target) Is Nothing Then Exit Sub
If [E9] = "" Then
témoin = False
[E9].Activate
ElseIf témoin = False Then
MsgBox " ça marche "
témoin = True
End If
End Sub

Cordialement Abed_H



Bonjour à tous,
J'ai une feuille qui est une re-copie avec liaison d'une autre feuille (mise
en page différente des mêmes données).
Mon objectif = encadrer la cellule d'une bordure, si la cellule contient du
texte.

1) La MFC ne marche pas car le contenu de la cellule peut être trés variable
(plus de 3 possibilités).
2) Le code:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Address = "$e$9" Then
If Target <> "" Then MsgBox "ça marche"
End If
End Sub
.... ne fonctionne pas non plus. Mon code est sans doute mal écrit?
Quelle solution me proposez-vous?
Merci par avance.





Avatar
ManBas
Bonjour Abed,
Merci beaucoup de ta réponse.
J'ai essayé la macro mais elle ne fonctionne pas: le msg "ça marche" (mis
ici pour remplacer la macro de mise en forme de la cellule) survient en
permanence, que la cellule E9 contienne du texte ou pas !
Peux-tu me donner un autre code STP?

"ABED HADDOU" a écrit dans le message
de news:
Bonjour "ManBas"
si j'ai bien compris , voila ce que je te propose pour la question N°2
si la cellule E9 contient une valeur le cursseur passe à la suivante si
non
la cellule
en question sera activé .

témoinúlse
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect([E9], [F9], Target) Is Nothing Then Exit Sub
If [E9] = "" Then
témoin = False
[E9].Activate
ElseIf témoin = False Then
MsgBox " ça marche "
témoin = True
End If
End Sub

Cordialement Abed_H



Bonjour à tous,
J'ai une feuille qui est une re-copie avec liaison d'une autre feuille
(mise
en page différente des mêmes données).
Mon objectif = encadrer la cellule d'une bordure, si la cellule contient
du
texte.

1) La MFC ne marche pas car le contenu de la cellule peut être trés
variable
(plus de 3 possibilités).
2) Le code:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Address = "$e$9" Then
If Target <> "" Then MsgBox "ça marche"
End If
End Sub
.... ne fonctionne pas non plus. Mon code est sans doute mal écrit?
Quelle solution me proposez-vous?
Merci par avance.







Avatar
ABED HADDOU
Re.......
permanence, que la cellule E9 contienne du texte ou pas !



Private Sub Worksheet_Change(ByVal Target As Range)
If [E9].Value <> Empty And témoin = False Then MsgBox "ça marche"
témoin = True
End Sub

Abed_H



Bonjour Abed,
Merci beaucoup de ta réponse.
J'ai essayé la macro mais elle ne fonctionne pas: le msg "ça marche" (mis
ici pour remplacer la macro de mise en forme de la cellule) survient en
permanence, que la cellule E9 contienne du texte ou pas !
Peux-tu me donner un autre code STP?

"ABED HADDOU" a écrit dans le message
de news:
Bonjour "ManBas"
si j'ai bien compris , voila ce que je te propose pour la question N°2
si la cellule E9 contient une valeur le cursseur passe à la suivante si
non
la cellule
en question sera activé .

témoinúlse
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect([E9], [F9], Target) Is Nothing Then Exit Sub
If [E9] = "" Then
témoin = False
[E9].Activate
ElseIf témoin = False Then
MsgBox " ça marche "
témoin = True
End If
End Sub

Cordialement Abed_H



Bonjour à tous,
J'ai une feuille qui est une re-copie avec liaison d'une autre feuille
(mise
en page différente des mêmes données).
Mon objectif = encadrer la cellule d'une bordure, si la cellule contient
du
texte.

1) La MFC ne marche pas car le contenu de la cellule peut être trés
variable
(plus de 3 possibilités).
2) Le code:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Address = "$e$9" Then
If Target <> "" Then MsgBox "ça marche"
End If
End Sub
.... ne fonctionne pas non plus. Mon code est sans doute mal écrit?
Quelle solution me proposez-vous?
Merci par avance.












Avatar
ABED HADDOU
permanence, que la cellule E9 contienne du texte ou pas !


Dim témoin As Boolean

Private Sub Worksheet_Change(ByVal Target As Range)
If [E9].Value <> Empty And témoin = False Then MsgBox "ça marche"
témoin = True
End Sub

Abed_H


Bonjour Abed,
Merci beaucoup de ta réponse.
J'ai essayé la macro mais elle ne fonctionne pas: le msg "ça marche" (mis
ici pour remplacer la macro de mise en forme de la cellule) survient en
permanence, que la cellule E9 contienne du texte ou pas !
Peux-tu me donner un autre code STP?

"ABED HADDOU" a écrit dans le message
de news:
Bonjour "ManBas"
si j'ai bien compris , voila ce que je te propose pour la question N°2
si la cellule E9 contient une valeur le cursseur passe à la suivante si
non
la cellule
en question sera activé .

témoinúlse
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect([E9], [F9], Target) Is Nothing Then Exit Sub
If [E9] = "" Then
témoin = False
[E9].Activate
ElseIf témoin = False Then
MsgBox " ça marche "
témoin = True
End If
End Sub

Cordialement Abed_H



Bonjour à tous,
J'ai une feuille qui est une re-copie avec liaison d'une autre feuille
(mise
en page différente des mêmes données).
Mon objectif = encadrer la cellule d'une bordure, si la cellule contient
du
texte.

1) La MFC ne marche pas car le contenu de la cellule peut être trés
variable
(plus de 3 possibilités).
2) Le code:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Address = "$e$9" Then
If Target <> "" Then MsgBox "ça marche"
End If
End Sub
.... ne fonctionne pas non plus. Mon code est sans doute mal écrit?
Quelle solution me proposez-vous?
Merci par avance.












Avatar
ManBas
Merci beaucoup Abed, ça tourne.
Entre-temps j'avais trouvé ceci:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Address = "$E$9" And Target <> "" Then MsgBox "ça le fait aussi"
End Sub
Encore merci. A bientôt.

"ABED HADDOU" a écrit dans le message
de news:
permanence, que la cellule E9 contienne du texte ou pas !


Dim témoin As Boolean

Private Sub Worksheet_Change(ByVal Target As Range)
If [E9].Value <> Empty And témoin = False Then MsgBox "ça marche"
témoin = True
End Sub

Abed_H


Bonjour Abed,
Merci beaucoup de ta réponse.
J'ai essayé la macro mais elle ne fonctionne pas: le msg "ça marche" (mis
ici pour remplacer la macro de mise en forme de la cellule) survient en
permanence, que la cellule E9 contienne du texte ou pas !
Peux-tu me donner un autre code STP?

"ABED HADDOU" a écrit dans le
message
de news:
Bonjour "ManBas"
si j'ai bien compris , voila ce que je te propose pour la question N°2
si la cellule E9 contient une valeur le cursseur passe à la suivante si
non
la cellule
en question sera activé .

témoinúlse
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect([E9], [F9], Target) Is Nothing Then Exit Sub
If [E9] = "" Then
témoin = False
[E9].Activate
ElseIf témoin = False Then
MsgBox " ça marche "
témoin = True
End If
End Sub

Cordialement Abed_H



Bonjour à tous,
J'ai une feuille qui est une re-copie avec liaison d'une autre feuille
(mise
en page différente des mêmes données).
Mon objectif = encadrer la cellule d'une bordure, si la cellule
contient
du
texte.

1) La MFC ne marche pas car le contenu de la cellule peut être trés
variable
(plus de 3 possibilités).
2) Le code:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Address = "$e$9" Then
If Target <> "" Then MsgBox "ça marche"
End If
End Sub
.... ne fonctionne pas non plus. Mon code est sans doute mal écrit?
Quelle solution me proposez-vous?
Merci par avance.














Avatar
ABED HADDOU
Bonsoir "ManBas"

voir ça http://cjoint.com/?hsxfFGTlrP

Cordialement Abed_H




permanence, que la cellule E9 contienne du texte ou pas !


Dim témoin As Boolean

Private Sub Worksheet_Change(ByVal Target As Range)
If [E9].Value <> Empty And témoin = False Then MsgBox "ça marche"
témoin = True
End Sub

Abed_H


Bonjour Abed,
Merci beaucoup de ta réponse.
J'ai essayé la macro mais elle ne fonctionne pas: le msg "ça marche" (mis
ici pour remplacer la macro de mise en forme de la cellule) survient en
permanence, que la cellule E9 contienne du texte ou pas !
Peux-tu me donner un autre code STP?

"ABED HADDOU" a écrit dans le message
de news:
Bonjour "ManBas"
si j'ai bien compris , voila ce que je te propose pour la question N°2
si la cellule E9 contient une valeur le cursseur passe à la suivante si
non
la cellule
en question sera activé .

témoinúlse
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect([E9], [F9], Target) Is Nothing Then Exit Sub
If [E9] = "" Then
témoin = False
[E9].Activate
ElseIf témoin = False Then
MsgBox " ça marche "
témoin = True
End If
End Sub

Cordialement Abed_H



Bonjour à tous,
J'ai une feuille qui est une re-copie avec liaison d'une autre feuille
(mise
en page différente des mêmes données).
Mon objectif = encadrer la cellule d'une bordure, si la cellule contient
du
texte.

1) La MFC ne marche pas car le contenu de la cellule peut être trés
variable
(plus de 3 possibilités).
2) Le code:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Address = "$e$9" Then
If Target <> "" Then MsgBox "ça marche"
End If
End Sub
.... ne fonctionne pas non plus. Mon code est sans doute mal écrit?
Quelle solution me proposez-vous?
Merci par avance.














Avatar
ManBas
J'allais te répondre à nouveau pour te dire que ça ne réponds pas à mon
problème (aucune des solutions écrites) parce qu'il faut "entrer" dans la
valeur de la cellule.
La cellule E9 (avec liaison) se modifie sans que le curseur "entre" dans la
cellule donc la macro ne se déclenche pas.
Mais avec la modification de ton classeur ça fonctionne bien !!!!
Encore merci ++++

"ABED HADDOU" a écrit dans le message
de news:
Bonsoir "ManBas"

voir ça http://cjoint.com/?hsxfFGTlrP

Cordialement Abed_H




permanence, que la cellule E9 contienne du texte ou pas !


Dim témoin As Boolean

Private Sub Worksheet_Change(ByVal Target As Range)
If [E9].Value <> Empty And témoin = False Then MsgBox "ça marche"
témoin = True
End Sub

Abed_H


Bonjour Abed,
Merci beaucoup de ta réponse.
J'ai essayé la macro mais elle ne fonctionne pas: le msg "ça marche"
(mis
ici pour remplacer la macro de mise en forme de la cellule) survient en
permanence, que la cellule E9 contienne du texte ou pas !
Peux-tu me donner un autre code STP?

"ABED HADDOU" a écrit dans le
message
de news:
Bonjour "ManBas"
si j'ai bien compris , voila ce que je te propose pour la question
N°2
si la cellule E9 contient une valeur le cursseur passe à la suivante
si
non
la cellule
en question sera activé .

témoinúlse
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect([E9], [F9], Target) Is Nothing Then Exit Sub
If [E9] = "" Then
témoin = False
[E9].Activate
ElseIf témoin = False Then
MsgBox " ça marche "
témoin = True
End If
End Sub

Cordialement Abed_H



Bonjour à tous,
J'ai une feuille qui est une re-copie avec liaison d'une autre
feuille
(mise
en page différente des mêmes données).
Mon objectif = encadrer la cellule d'une bordure, si la cellule
contient
du
texte.

1) La MFC ne marche pas car le contenu de la cellule peut être trés
variable
(plus de 3 possibilités).
2) Le code:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Address = "$e$9" Then
If Target <> "" Then MsgBox "ça marche"
End If
End Sub
.... ne fonctionne pas non plus. Mon code est sans doute mal écrit?
Quelle solution me proposez-vous?
Merci par avance.