Demande d'aide en guise de bonne année 2008

Fermé
lagodille Messages postés 99 Date d'inscription vendredi 16 novembre 2007 Statut Membre Dernière intervention 6 mars 2008 - 3 janv. 2008 à 21:29
lagodille Messages postés 99 Date d'inscription vendredi 16 novembre 2007 Statut Membre Dernière intervention 6 mars 2008 - 6 janv. 2008 à 13:47
Bonjour,
Bonjour,
j'ai une erreur de compilation , lorsque je place une croix rouge en majuscule dans la colonne I , je crois que j'ai trop d'arguments mais pourtant j'ai besoin de tout cela :

Private Sub Worksheet_Change(ByVal Target As Range)

If Intersect(Target, Union([I11], [I14], [I17], [I20], [I23], [I26], [I41], [I44], [I47], [I50], [I53], [I56], [I71], [I74], [I77], [I80], [I83], [I86], [I101], [I104], [I107], [I110], [I113], [I116], [I131], [I134], [I137], [I140], [I143], [I146], [I161], [I164], [I167], [I170], [I173], [I76], [I191], [I194], [I197], [I200], [I203], [I206])) Is Nothing Then Exit Sub

If Target.Offset(0, 0).Value = "X" Then

Target.Offset(0, -4).Resize(3, 4).ClearContents
Target.Offset(0, 1).Resize(3, 4).ClearContents
End If


End Sub

alors si vous avez une soluce ce serait la bien venue surtout qu'en plus il faudrait forcer la croix en majuscule meme si la personne tape une croix minuscule

merci de votre aide

1 réponse

Bonjour
Si ton union est trop grand, coupe le en 2 :

  Dim R1 As Range, r2 As Range,
  Set R1 = Union([I11], [I14], [I17], [I20], [I23], [I26], [I41], [I44], [I47], [I50], [I53], [I56], [I71], [I74], [I77])
  Set r2 = Union([I80], [I83], [I86], [I101], [I104], [I107], [I110], [I113], [I116], [I131], [I134], [I137], [I140], [I143], [I146], [I161], [I164], [I167], [I170], [I173], [I76], [I191], [I194], [I197], [I200], [I203], [I206])

If Intersect(Target, Union(R1, r2)) Is Nothing Then Exit Sub


pour ton problème de majuscule / minuscule, tu n'as qu'à tester les 2 valeurs et forcer systématiquement en majuscule :
If Target.Offset(0, 0).Value = "X" Or Target.Offset(0, 0).Value = "x" Then
  Target.Offset(0, 0).Value = "X"
0
lagodille Messages postés 99 Date d'inscription vendredi 16 novembre 2007 Statut Membre Dernière intervention 6 mars 2008 4
6 janv. 2008 à 13:47
bonjour
merci pour ton aide. j'avais trouvé pour la première mais pas pensé à cela pour la seconde c'est astucieux et efficace.
mais voilà qu'un autre problème apparait en effet dans la procédure ci dessous, je n'arrive pas à effectuer ces deux conditions en meme temps .
la première est prise en compte mais pas la première .
je pense qu'il faut les imbriquer toutes les deux mais je n'en suis pas sur. peux tu m'aider ?


Private Sub Worksheet_Change(ByVal Target As Range)

Dim MytargetPart1 As Range
Dim MytargetPart2 As Range
Dim MyBigtarget As Range

Dim Mytargetmdp1 As Range
Dim Mytargetmdp2 As Range
Dim MyBigtargetmdp As Range


Set MytargetPart1 = Union([I11], [I14], [I17], [I20], [I23], [I26], [I41], [I44], [I47], [I50], [I53], [I56], [I71], [I74], [I77], [I80], [I83], [I86], [I101], [I104], [I107], [I110], [I113], [I116])
Set MytargetPart2 = Union([I131], [I134], [I137], [I140], [I143], [I146], [I161], [I164], [I167], [I170], [I173], [I76], [I191], [I194], [I197], [I200], [I203], [I206])
Set MyBigtarget = Union(MytargetPart1, MytargetPart2)

Set Mytargetmdp1 = Union([H11], [H12], [H13], [H14], [H15], [H16], [H17], [H18], [H19], [H20], [H21], [H22], [H23], [H24], [H25], [H26], [H27], [H28])
Set Mytargetmdp2 = Union([H41], [H42], [H43], [H44], [H45], [H46], [H47], [H48], [H49], [H50], [H51], [H52], [H53], [H54], [H55], [H56], [H57], [H58])
Set MyBigtargetmdp = Union(Mytargetmdp1, Mytargetmdp2)



If Intersect(Target, Union(MytargetPart1, MytargetPart2)) Is Nothing Then Exit Sub
If Target.Offset(0, 0).Value = "X" Or Target.Offset(0, 0).Value = "x" Then Target.Offset(0, 0).Value = "X"
If Target.Offset(0, 0).Value = "X" Then
Target.Offset(0, -4).Resize(3, 4).ClearContents
Target.Offset(0, 1).Resize(3, 4).ClearContents
End If


If Intersect(Target, Union(Mytargetmdp1, Mytargetmdp2)) Is Nothing Then Exit Sub
If Target.Offset(0, 0).Value <> "" Then UserForm3.Show


End Sub

encore tous meS voeux pour cette année 2008
PASCAL
0