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

Pb de code VBA

9 réponses
Avatar
Steve
Bonjour,

J'ai déja posé cette question sur le forum aujourd'hui
J'ai une feuille de calcul ou j'ai formaté des cellules (E13 , I13, M14,
M16......) en couleur jaune (code 36).
Je voudrais que la cellule (jaune) s'inscrémente d'une unité (+1) si je l'ai
sélectionné, en cliquant sur la cellule G16 et que cette cellule (jaune)
reste selectionnée .
ou s'inscrémente d'une unité (-1) en cliquant sur la cellule I16
ou que la valeur reste la même si je clique dans la cellule K16

JB m'a gentillement donné ce code

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Interior.ColorIndex = 36 And Target.Count = 1 Then
mémo = Target.Address
End If
If Target.Address = "$G$16" Then
If mémo <> "" Then
Range(mémo) = Range(mémo) + 1
mémo = ""
End If
End If
If Target.Address = "$I$16" Then
If mémo <> "" Then
Range(mémo) = Range(mémo) - 1
mémo = ""
End If
End If
End Sub

Mais cette procédure ne fonctionne pas dans ma feuille de calcul, alors
qu'elle fonctionne sur la feuille http://cjoint.com/?bvqPsNMy0f
que JB à fournie

Merci

9 réponses

Avatar
Jacky
Bonsoir,

JB m'a gentillement donné ce code
Il est trop gentil JB ;o))


Mais il avait aussi mis:
'-----
Dim mémo
'________________
Au dessus de la macro, que tu as certainement oublié.
Essaie et dit moi....
JJ

"Steve" a écrit dans le message de
news:%23yS$
Bonjour,

J'ai déja posé cette question sur le forum aujourd'hui
J'ai une feuille de calcul ou j'ai formaté des cellules (E13 , I13, M14,
M16......) en couleur jaune (code 36).
Je voudrais que la cellule (jaune) s'inscrémente d'une unité (+1) si je
l'ai

sélectionné, en cliquant sur la cellule G16 et que cette cellule (jaune)
reste selectionnée .
ou s'inscrémente d'une unité (-1) en cliquant sur la cellule I16
ou que la valeur reste la même si je clique dans la cellule K16

JB m'a gentillement donné ce code

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Interior.ColorIndex = 36 And Target.Count = 1 Then
mémo = Target.Address
End If
If Target.Address = "$G$16" Then
If mémo <> "" Then
Range(mémo) = Range(mémo) + 1
mémo = ""
End If
End If
If Target.Address = "$I$16" Then
If mémo <> "" Then
Range(mémo) = Range(mémo) - 1
mémo = ""
End If
End If
End Sub

Mais cette procédure ne fonctionne pas dans ma feuille de calcul, alors
qu'elle fonctionne sur la feuille http://cjoint.com/?bvqPsNMy0f
que JB à fournie

Merci




Avatar
Steve
Bonjours Jacky et merci
Exact j'avais omis Dim mémo
Mais cela ne fonctionne pas mieux

"Jacky" a écrit dans le message de news:
%23FPR%23%


Bonsoir,

JB m'a gentillement donné ce code
Il est trop gentil JB ;o))


Mais il avait aussi mis:
'-----
Dim mémo
'________________
Au dessus de la macro, que tu as certainement oublié.
Essaie et dit moi....
JJ

"Steve" a écrit dans le message de
news:%23yS$
Bonjour,

J'ai déja posé cette question sur le forum aujourd'hui
J'ai une feuille de calcul ou j'ai formaté des cellules (E13 , I13, M14,
M16......) en couleur jaune (code 36).
Je voudrais que la cellule (jaune) s'inscrémente d'une unité (+1) si je
l'ai

sélectionné, en cliquant sur la cellule G16 et que cette cellule (jaune)
reste selectionnée .
ou s'inscrémente d'une unité (-1) en cliquant sur la cellule I16
ou que la valeur reste la même si je clique dans la cellule K16

JB m'a gentillement donné ce code

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Interior.ColorIndex = 36 And Target.Count = 1 Then
mémo = Target.Address
End If
If Target.Address = "$G$16" Then
If mémo <> "" Then
Range(mémo) = Range(mémo) + 1
mémo = ""
End If
End If
If Target.Address = "$I$16" Then
If mémo <> "" Then
Range(mémo) = Range(mémo) - 1
mémo = ""
End If
End If
End Sub

Mais cette procédure ne fonctionne pas dans ma feuille de calcul, alors
qu'elle fonctionne sur la feuille http://cjoint.com/?bvqPsNMy0f
que JB à fournie

Merci








Avatar
JB
http://cjoint.com/?bvs2r8ddmM

Dim témoin
Dim mémo
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not témoin Then
témoin = True
If Target.Interior.ColorIndex = 36 And Target.Count = 1 Then
mémo = Target.Address
End If
If Target.Address = "$G$16" Then
If mémo <> "" Then
Range(mémo) = Range(mémo) + 1
Range(mémo).Select
End If
End If
If Target.Address = "$I$16" Then
If mémo <> "" Then
Range(mémo) = Range(mémo) - 1
Range(mémo).Select
End If
End If
témoin = False
End If
End Sub
Avatar
Jacky
Re...
Je n'ai pas de problème pour faire fonctionner cette macro.
Certains diraientt que tu es victime d'un micro climat.;o))
Si tu le souhaites , un brouillon de ton fichier sur:
http://cjoint.com

JJ

"Steve" a écrit dans le message de
news:%
Bonjours Jacky et merci
Exact j'avais omis Dim mémo
Mais cela ne fonctionne pas mieux

"Jacky" a écrit dans le message de news:
%23FPR%23%


Bonsoir,

JB m'a gentillement donné ce code
Il est trop gentil JB ;o))


Mais il avait aussi mis:
'-----
Dim mémo
'________________
Au dessus de la macro, que tu as certainement oublié.
Essaie et dit moi....
JJ

"Steve" a écrit dans le message de
news:%23yS$
Bonjour,

J'ai déja posé cette question sur le forum aujourd'hui
J'ai une feuille de calcul ou j'ai formaté des cellules (E13 , I13,
M14,



M16......) en couleur jaune (code 36).
Je voudrais que la cellule (jaune) s'inscrémente d'une unité (+1) si je
l'ai

sélectionné, en cliquant sur la cellule G16 et que cette cellule
(jaune)



reste selectionnée .
ou s'inscrémente d'une unité (-1) en cliquant sur la cellule I16
ou que la valeur reste la même si je clique dans la cellule K16

JB m'a gentillement donné ce code

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Interior.ColorIndex = 36 And Target.Count = 1 Then
mémo = Target.Address
End If
If Target.Address = "$G$16" Then
If mémo <> "" Then
Range(mémo) = Range(mémo) + 1
mémo = ""
End If
End If
If Target.Address = "$I$16" Then
If mémo <> "" Then
Range(mémo) = Range(mémo) - 1
mémo = ""
End If
End If
End Sub

Mais cette procédure ne fonctionne pas dans ma feuille de calcul, alors
qu'elle fonctionne sur la feuille http://cjoint.com/?bvqPsNMy0f
que JB à fournie

Merci












Avatar
Steve
Merci JB
ça fonctionne dans ton fichier
Pas dans le mien
http://cjoint.com/?bvtfeKtZHr

"JB" a écrit dans le message de news:

http://cjoint.com/?bvs2r8ddmM

Dim témoin
Dim mémo
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not témoin Then
témoin = True
If Target.Interior.ColorIndex = 36 And Target.Count = 1 Then
mémo = Target.Address
End If
If Target.Address = "$G$16" Then
If mémo <> "" Then
Range(mémo) = Range(mémo) + 1
Range(mémo).Select
End If
End If
If Target.Address = "$I$16" Then
If mémo <> "" Then
Range(mémo) = Range(mémo) - 1
Range(mémo).Select
End If
End If
témoin = False
End If
End Sub
Avatar
JB
C'est à cause des cellules fusionnées. Prendre le code ci dessous:

Dim témoin
Dim mémo
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not témoin Then
témoin = True
If Target.Interior.ColorIndex = 36 And Target.Count = 1 Then
mémo = Target.Address
End If
If Target.Address = "$G$16:$G$19" Then
If mémo <> "" Then

Range(mémo) = Range(mémo) + 1
Range(mémo).Select
End If
End If
If Target.Address = "$I$16:$I$19" Then
If mémo <> "" Then
Range(mémo) = Range(mémo) - 1
Range(mémo).Select
End If
End If
témoin = False
End If
End Sub
Avatar
JB
Code modifié

http://cjoint.com/?bvtRlY6z1g

JB
Avatar
Jacky
Bonsoir JD

Il faudra que Steve enlève la "fusion" et "centre sur plusieurs colonnes" la
serie:
e4:g4, i4:k4, m4:o4, q4:s4 et les groupes.
Ah! les fusions quelle misère ;o)
JJ

"JB" a écrit dans le message de
news:
Code modifié

http://cjoint.com/?bvtRlY6z1g

JB
Avatar
Steve
Merci JD , merci Jacky
Tout fonctionne

"JB" a écrit dans le message de news:

Code modifié

http://cjoint.com/?bvtRlY6z1g

JB