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

Un petit problème à vous soumettre

2 réponses
Avatar
Patrick
Bonsoir tout le monde,

Je recherche de l'aide concernant le probl=E8me suivant.
La probl=E9matique concerne une feuille de calculs, les=20
colonnes A, B et C et un certain nombre de ligne, 50 au=20
maxi.

Dans la colonne B, je saisi des chiffres.
D=E8s lors qu'un chiffre saisi est sup=E9rieur ou =E9gal =E0 600,=20
je souhaiterai que s'affiche dans la colonne C et en face=20
dudit chiffre une case =E0 cocher.

D=E8s que je serai amen=E9 =E0 cocher l'une de ces cases, je=20
souhaiterai alors que la valeur saisie da,s la colonne A=20
soit format=E9 en gras et de couleur rouge.

Alors si un super branch=E9 =E0 la solution merci d'avance.

(Selon le cas je bosse sur Pack Office 2000 ou XP Pro)

Cordialement, Patrick

2 réponses

Avatar
michdenis
Bonsoir Patrick,


Voici la procédure demandé ... une simple suggestion, tu devrais abandonner l'ajout de OptionBouton et remplacer ceci par une
lette en colonne C.

La gestion des bouton d'options risque de devenir très lourd à gérer ....


La procédure que je te soumets fait :

Si en b la valeur est plus grande ou égale à 600
- insère en colonne C un bouton d'option
- insère le code attaché à ce bouton d'option

Et si tu cliques sur ce bouton d'option, le texte en colonne A
de la même ligne que le bouton d'option deviendra "Rouge et Gras".

Le code est à insérer dans la feuille module où l'action doit se dérouler :

'--------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)

Dim Code As String, NomOptionButton As String

If Target.Column = 2 And Target.Rows.Count = 1 Then
Nom = Sheets(Range("A1").Parent.Name).CodeName
If Target.Value >= 600 Then
With Target.Offset(, 1)
Set OlObj = ActiveSheet.OLEObjects.Add(ClassType:="Forms.OptionButton.1", _
Left:=.Left, Top:=.Top, Width:=.Width, Height:=.Height)
OlObj.Name = "OptionButton" & Target.Row
Set VBcom = ThisWorkbook.VBProject.VBComponents(Nom).codemodule

Code = Code & "Private Sub " & OlObj.Name & "_Click()" & vbCrLf
Code = Code & "A = Mid(""" & OlObj.Name & """, 13," & Len(OlObj.Name) & ")" & vbCrLf
Code = Code & "Range(""A"" & a).Font.ColorIndex = 3" & vbCrLf
Code = Code & "Range(""A"" & a).Font.Bold = True" & vbCrLf
Code = Code & "End Sub" & vbCrLf
With VBcom
.AddFromString Code
End With
End With
End If
End If
End Sub
'--------------------------------


Maintenant, il te reste à écrire le code qui effacera le bouton d'optin si la valeur inscrite en colonne b est en dessous de
600 lors d'une modification subséquente de la valeur de la cellule.



Salutations!





"Patrick" a écrit dans le message de news:03bd01c3628c$f8ed7180$
Bonsoir tout le monde,

Je recherche de l'aide concernant le problème suivant.
La problématique concerne une feuille de calculs, les
colonnes A, B et C et un certain nombre de ligne, 50 au
maxi.

Dans la colonne B, je saisi des chiffres.
Dès lors qu'un chiffre saisi est supérieur ou égal à 600,
je souhaiterai que s'affiche dans la colonne C et en face
dudit chiffre une case à cocher.

Dès que je serai amené à cocher l'une de ces cases, je
souhaiterai alors que la valeur saisie da,s la colonne A
soit formaté en gras et de couleur rouge.

Alors si un super branché à la solution merci d'avance.

(Selon le cas je bosse sur Pack Office 2000 ou XP Pro)

Cordialement, Patrick
Avatar
Patrick
Bonjour chez toi,

Effectivement, je me suis amusé à utiliser les formes
conditionnelles pour réaliser ce travail. Mais tu sais
comment on est, en on veut toujours plus, même si cela
rend la tâhe plus compliquée.

En tous les cas merci beaucoup pour le code, je vais
travailler dessus.

Alors que la France croule sous la canicule, ici à l'île
de la Réunion, il a neigé. C'est pas une blague.
www.clicanoo.com -> dossier presse
www.ipreunion.com -> dossier photos

Cordialement
-----Message d'origine-----
Bonsoir Patrick,


Voici la procédure demandé ... une simple suggestion, tu
devrais abandonner l'ajout de OptionBouton et remplacer

ceci par une
lette en colonne C.

La gestion des bouton d'options risque de devenir très
lourd à gérer ....



La procédure que je te soumets fait :

Si en b la valeur est plus grande ou égale à 600
- insère en colonne C un bouton d'option
- insère le code attaché à ce bouton d'option

Et si tu cliques sur ce bouton d'option, le texte en
colonne A

de la même ligne que le bouton d'option deviendra "Rouge
et Gras".


Le code est à insérer dans la feuille module où l'action
doit se dérouler :


'--------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)

Dim Code As String, NomOptionButton As String

If Target.Column = 2 And Target.Rows.Count = 1 Then
Nom = Sheets(Range("A1").Parent.Name).CodeName
If Target.Value >= 600 Then
With Target.Offset(, 1)
Set OlObj = ActiveSheet.OLEObjects.Add
(ClassType:="Forms.OptionButton.1", _

Left:=.Left, Top:=.Top, Width:=.Width,
Height:=.Height)

OlObj.Name = "OptionButton" & Target.Row
Set VBcom =
ThisWorkbook.VBProject.VBComponents(Nom).codemodule


Code = Code & "Private Sub " & OlObj.Name
& "_Click()" & vbCrLf

Code = Code & "A = Mid(""" & OlObj.Name
& """, 13," & Len(OlObj.Name) & ")" & vbCrLf

Code = Code & "Range(""A"" &
a).Font.ColorIndex = 3" & vbCrLf

Code = Code & "Range(""A"" & a).Font.Bold =
True" & vbCrLf

Code = Code & "End Sub" & vbCrLf
With VBcom
.AddFromString Code
End With
End With
End If
End If
End Sub
'--------------------------------


Maintenant, il te reste à écrire le code qui effacera le
bouton d'optin si la valeur inscrite en colonne b est en

dessous de
600 lors d'une modification subséquente de la valeur de
la cellule.




Salutations!





"Patrick" a écrit dans le message
de news:03bd01c3628c$f8ed7180$

Bonsoir tout le monde,

Je recherche de l'aide concernant le problème suivant.
La problématique concerne une feuille de calculs, les
colonnes A, B et C et un certain nombre de ligne, 50 au
maxi.

Dans la colonne B, je saisi des chiffres.
Dès lors qu'un chiffre saisi est supérieur ou égal à 600,
je souhaiterai que s'affiche dans la colonne C et en face
dudit chiffre une case à cocher.

Dès que je serai amené à cocher l'une de ces cases, je
souhaiterai alors que la valeur saisie da,s la colonne A
soit formaté en gras et de couleur rouge.

Alors si un super branché à la solution merci d'avance.

(Selon le cas je bosse sur Pack Office 2000 ou XP Pro)

Cordialement, Patrick


.