jeromeN95
XLDnaute Impliqué
Bonsoir a tous,
je ne connais pas trop l'univer des Macro et lorsque je modifie mon code pour le raccourcir, il ne fonctionne plus.
Pourriez vous m'aidez à comprendre comment le raccourcir SVP ? :
De plus, j'aimerai lancer cette macro également dans les plages :
I1, I36, I71, I106, I141 et I176
Dans les codes ci dessus, ca ne concerne actuellement que la plage I1.
Mais chaques "groupes de code" doivent aussi y faire appel.
Les formules modifier sont :
I1 - - I36 - - I71 - - I106 - - I141 - - I176
Pour les plages ci dessous.
R6-- R41-- R76-- R111-- R146-- R181--
R10-- R45-- R80-- R115-- R150-- R185--
R14-- R49-- R76-- R119-- R154-- R189--
R18-- R53-- R88-- R123-- R158-- R193--
R22-- R57-- R92-- R127-- R162-- R197--
R26-- R61-- R96-- R131-- R166-- R201--
R30-- R65-- R100-- R135-- R170-- R205--
R34-- R69-- R104-- R139-- R174-- R209--
Donc I1 dans tout le code collé, modifie les cellules :
R6
R10
R14
R18
R22
R26
R30
R34
Il faudrait m'aider pour faire la même chose sur les 5 autres plages SVP mais sans faire 15 pages de codes...
Merci.
je ne connais pas trop l'univer des Macro et lorsque je modifie mon code pour le raccourcir, il ne fonctionne plus.
Pourriez vous m'aidez à comprendre comment le raccourcir SVP ? :
Code:
' changement mode
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Plage As Range, Intersection As Range
Set Plage = Range("I1:T1")
Set Intersection = Intersect(Target, Plage)
If Not (Intersection Is Nothing) Then
If Not Application.Intersect(Target, Range("I1")) Is Nothing Then
If [I1] = "Manuel/Formule (Valid Verrouiller)" Then
If [A3] <> "" Then
Range("R6").Select
ActiveCell.FormulaR1C1 = "1"
Else
Range("R6").Select
ActiveCell.FormulaR1C1 = ""
End If
If [A7] <> "" Then
Range("R10").Select
ActiveCell.FormulaR1C1 = "1"
Else
Range("R10").Select
ActiveCell.FormulaR1C1 = ""
End If
If [A11] <> "" Then
Range("R14").Select
ActiveCell.FormulaR1C1 = "1"
Else
Range("R14").Select
ActiveCell.FormulaR1C1 = ""
End If
If [A15] <> "" Then
Range("R18").Select
ActiveCell.FormulaR1C1 = "1"
Else
Range("R18").Select
ActiveCell.FormulaR1C1 = ""
End If
If [A19] <> "" Then
Range("R22").Select
ActiveCell.FormulaR1C1 = "1"
Else
Range("R22").Select
ActiveCell.FormulaR1C1 = ""
End If
If [A23] <> "" Then
Range("R26").Select
ActiveCell.FormulaR1C1 = "1"
Else
Range("R26").Select
ActiveCell.FormulaR1C1 = ""
End If
If [A27] <> "" Then
Range("R30").Select
ActiveCell.FormulaR1C1 = "1"
Else
Range("R30").Select
ActiveCell.FormulaR1C1 = ""
End If
If [A31] <> "" Then
Range("R34").Select
ActiveCell.FormulaR1C1 = "1"
Else
Range("R34").Select
ActiveCell.FormulaR1C1 = ""
End If
End If
If [I1] = "Drain/Séquentiel (Vidange)" Then
If [A3] <> "" Then
Range("R6").Select
ActiveCell.FormulaR1C1 = "3"
Else
Range("R6").Select
ActiveCell.FormulaR1C1 = ""
End If
If [A7] <> "" Then
Range("R10").Select
ActiveCell.FormulaR1C1 = "3"
Else
Range("R10").Select
ActiveCell.FormulaR1C1 = ""
End If
If [A11] <> "" Then
Range("R14").Select
ActiveCell.FormulaR1C1 = "3"
Else
Range("R14").Select
ActiveCell.FormulaR1C1 = ""
End If
If [A15] <> "" Then
Range("R18").Select
ActiveCell.FormulaR1C1 = "3"
Else
Range("R18").Select
ActiveCell.FormulaR1C1 = ""
End If
If [A19] <> "" Then
Range("R22").Select
ActiveCell.FormulaR1C1 = "3"
Else
Range("R22").Select
ActiveCell.FormulaR1C1 = ""
End If
If [A23] <> "" Then
Range("R26").Select
ActiveCell.FormulaR1C1 = "3"
Else
Range("R26").Select
ActiveCell.FormulaR1C1 = ""
End If
If [A27] <> "" Then
Range("R30").Select
ActiveCell.FormulaR1C1 = "3"
Else
Range("R30").Select
ActiveCell.FormulaR1C1 = ""
End If
If [A31] <> "" Then
Range("R34").Select
ActiveCell.FormulaR1C1 = "3"
Else
Range("R34").Select
ActiveCell.FormulaR1C1 = ""
End If
End If
Range("C3").Select
End If
End If
End Sub
De plus, j'aimerai lancer cette macro également dans les plages :
I1, I36, I71, I106, I141 et I176
Dans les codes ci dessus, ca ne concerne actuellement que la plage I1.
Mais chaques "groupes de code" doivent aussi y faire appel.
Les formules modifier sont :
I1 - - I36 - - I71 - - I106 - - I141 - - I176
Pour les plages ci dessous.
R6-- R41-- R76-- R111-- R146-- R181--
R10-- R45-- R80-- R115-- R150-- R185--
R14-- R49-- R76-- R119-- R154-- R189--
R18-- R53-- R88-- R123-- R158-- R193--
R22-- R57-- R92-- R127-- R162-- R197--
R26-- R61-- R96-- R131-- R166-- R201--
R30-- R65-- R100-- R135-- R170-- R205--
R34-- R69-- R104-- R139-- R174-- R209--
Donc I1 dans tout le code collé, modifie les cellules :
R6
R10
R14
R18
R22
R26
R30
R34
Il faudrait m'aider pour faire la même chose sur les 5 autres plages SVP mais sans faire 15 pages de codes...
Merci.
Dernière édition: