Aide sur une ligne de code avec erreur 424 ?

Résolu/Fermé
mijean94 Messages postés 394 Date d'inscription mercredi 16 décembre 2015 Statut Membre Dernière intervention 8 novembre 2021 - 4 déc. 2016 à 00:24
mijean94 Messages postés 394 Date d'inscription mercredi 16 décembre 2015 Statut Membre Dernière intervention 8 novembre 2021 - 4 déc. 2016 à 10:53
Bonjour,

Voici si dessous ma ligne de code :

If Cells(li, co) = 2 Then plage1 = Cells(seq1_1, co).Address & ":" & Cells(li - 1, co).Address: plage1.Interior.ColorIndex = 6


Je souhaite que la plage1 soit colorisée si la condition et remplie.

Merci de l’aide

Bien cordialement
A voir également:

2 réponses

m@rina Messages postés 20074 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 25 avril 2024 11 271
4 déc. 2016 à 01:53
Bonjour,

Je ne comprends pas ton code d'autant plus qu'on ne sait pas ce qu'est "plage1", "seq1_1", etc.

Supposant que tu aies nommé une plage de cellules "plage1" et que li et co sont des variables numériques, ton code serait simplement :

If Cells(1, 1) = 2 Then Range("plage1").Interior.ColorIndex = 6

m@rina


0
mijean94 Messages postés 394 Date d'inscription mercredi 16 décembre 2015 Statut Membre Dernière intervention 8 novembre 2021 10
4 déc. 2016 à 08:59
Bonjour,

Merci pour l’aide.

Effectivement avec plus d’informations ça peut aider.

Explication sur ce que j’ai voulu réaliser :

Li et co sont des numéros de ligne et colonne
Seq_1 et un numéro de ligne

Plage1 est le résultats des coordonnées de la plage définie par

Cells(seq1_1, co).Address & ":" & Cells(li - 1, co).Address




Voice le code

Dim seq1_1 As Variant
Dim plage1 As Variant

If Cells(li, co) = 1 Then seq1_1 = li + 1

If Cells(li, co) = 2 Then plage1 = Cells(seq1_1, co).Address & ":" & Cells(li - 1, co).Address: plage1.Interior.ColorIndex = 6



Bien cordialement
0
Gyrus Messages postés 3334 Date d'inscription samedi 20 juillet 2013 Statut Membre Dernière intervention 9 décembre 2016 523
4 déc. 2016 à 09:49
Bonjour,

Dans ton ébauche de code, on ne voit toujours pas comment tu affectes une valeur à seq1_1, li et co.
Dans le code suivant, regarde bien les déclarations et les affectations.
Sub Test()
Dim li As Long, seq1_1 As Long
Dim co As Integer
Dim Plage1 As Range
li = 10
co = 2
seq1_1 = 2
If Cells(li, co) = 1 Then
seq1_1 = li + 1
ElseIf Cells(li, co) = 2 Then
Set Plage1 = Range(Cells(seq1_1, co).Address & ":" & Cells(li - 1, co).Address)
Plage1.Interior.ColorIndex = 6
End If
End Sub

A+
0
mijean94 Messages postés 394 Date d'inscription mercredi 16 décembre 2015 Statut Membre Dernière intervention 8 novembre 2021 10
4 déc. 2016 à 10:08
Bonjour,

Merci pour la réponse.

Li et co sont affectées par deux boucles for..next. j'ai plusieurs test if comme ceux qui sont dans la boucle avec d'autres variables seq....

Public Sub essai()
Dim li As Long, co As Long
Dim seq1_1 As Variant
Dim plage1 As Variant

For co = codeb To cofin
For li = lideb To lifin

If Cells(li, co) = 1 Then seq1_1 = li + 1
If Cells(li, co) = 2 Then plage1 = Cells(seq1_1, co).Address & ":" & Cells(li - 1, co).Address: plage1.Interior.ColorIndex = 6

Next li
Next co

End Sub


Bien cordialement
0
mijean94 Messages postés 394 Date d'inscription mercredi 16 décembre 2015 Statut Membre Dernière intervention 8 novembre 2021 10
4 déc. 2016 à 10:53
Re,

j'ai utilisé ta proposition du post 3 et ça marche très bien.

Bien cordialement
0