Incompatibilité de type
Bonjour,
D'abord je n'y connais pas grand chose en code mais j'essaie d'y arriver en copiant à droite et à gauche les infos.
Je travaille sur une fiche d'observation de maladies sur un végétal.
Les observations sont :
- soit traduites par une case cochée (1 végétal observé)
- soit traduites par un nombre ou pourcentage (illustrant le taux d'attaque ou le nombre d'individus observés)
Pour les observations de type case à cocher : j'ai modifié le format des cellules en wingdings et introduit le code suivant sur les cellules concernées pour qu'a chaque clic sur la cellule une coche apparaisse :
Private Sub Worksheet_SelectionChange (ByVal Target As Range)If Intersect(Target, Range("Cases1")) Is Nothing Then Exit SubIf Target.Value = "ü" ThenTarget = ""ElseTarget.Value = "ü"End IfEnd Sub
Sauf que pour certaines observations, je dois faire référence soit à des cases à cocher, soit à des nombres
du coup j'ai pensé à ajouté 2 boutons d'options
Exemple :
une option F : pour laquelle je dois cocher les cellules
une option G : pour laquelle je dois rentrer un pourcentage dans les cellules
J'ai associé 1 macro à chacune des options permettant de changer le format des cellules (wingdings pour l'option F et arial pour l'option G)
et j'ai associé une nouvelle ligne dans mon code ci-dessus pour lui dire de ne pas s'occuper des cellules avec un format wingdings :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)If Intersect(Target, Range("Cases1")) Is Nothing Then Exit SubIf Target.Font.Name <> "Wingdings" Then Exit SubIf Target.Value = "ü" ThenTarget = ""ElseTarget.Value = "ü"End IfEnd Sub
Mais je pense être loin de la solution et j'ai du coup une erreur 13 incompatibilité de type sur la ligne : If Target.Value = "ü" Then
Je vous joins le fichier avec les lignes qui me pose souci (ligne 30 et 31 fond jaune)
Merci beaucoup pour votre aide
Bonjour xycoco7,
Pour éviter le plantage, dans les procédures Botrytis_F et G remplace les lignes comme indiqué ci-dessous (le select déclenche l'événement SelectionChange) :
' Remplacer
'Range("D30:AB31").Select
'With Selection.Font
' par
With Range("D30:AB31").FontCela fonctionne t il comme tu le souhaites ?
Cdlt,
Cylfo
Bonjour Cylfo
Super !
Merci beaucoup pour votre aide !
Bonne journée