VBA la méthode range de l'objet global a ....
guillaumesk850
-
guillaumesk850 -
guillaumesk850 -
Bonjour,
Je suis débutant en VBA et je souhaite développé mon premier programme dans lequel je pourrais mettre en couleur les cellules qui correspondent a une occupation d'un agent.
Voici mon code :
Dim rRange As Range, Couleur As Integer, ColDeb As Integer, ColFin As Integer
Dim vI As Variant
Set rRange = Range([A4], [A9])
For Each vI In rRange
If cbagent.Text = vI Then
L = vI.Row
Exit For
End If
Next vI
Index = frameOptDpl.ActiveControl.TabIndex
Select Case Index
Case 0
Couleur = 3
Case 1
Couleur = 41
Case 2
Couleur = 43
Case 3
Couleur = 35
End Select
With Sheets("Juin")
Dates = Application.Transpose(Application.Transpose(.Range("C5:AF5")))
ColDeb = Application.Match(CLng(DTPicker1), Dates)
ColFin = Application.Match(CLng(DTPicker2), Dates)
Range("(L, ColDeb):(L, ColFin)").Interior.ColorIndex = 6
...
C'est donc le dernier Range("L, ...) qui pose problème
Je compte sur vous pour m'apporter un peu d'aide
Merci d'avance :)
Je suis débutant en VBA et je souhaite développé mon premier programme dans lequel je pourrais mettre en couleur les cellules qui correspondent a une occupation d'un agent.
Voici mon code :
Dim rRange As Range, Couleur As Integer, ColDeb As Integer, ColFin As Integer
Dim vI As Variant
Set rRange = Range([A4], [A9])
For Each vI In rRange
If cbagent.Text = vI Then
L = vI.Row
Exit For
End If
Next vI
Index = frameOptDpl.ActiveControl.TabIndex
Select Case Index
Case 0
Couleur = 3
Case 1
Couleur = 41
Case 2
Couleur = 43
Case 3
Couleur = 35
End Select
With Sheets("Juin")
Dates = Application.Transpose(Application.Transpose(.Range("C5:AF5")))
ColDeb = Application.Match(CLng(DTPicker1), Dates)
ColFin = Application.Match(CLng(DTPicker2), Dates)
Range("(L, ColDeb):(L, ColFin)").Interior.ColorIndex = 6
...
C'est donc le dernier Range("L, ...) qui pose problème
Je compte sur vous pour m'apporter un peu d'aide
Merci d'avance :)
A voir également:
- VBA la méthode range de l'objet global a ....
- Vente objet occasion entre particulier - Guide
- La méthode range de l'objet _global a échoué ✓ - Forum VB / VBA
- Vba range avec variable ✓ - Forum VB / VBA
- Incompatibilité de type vba ✓ - Forum Programmation
- Range avec une Variable ✓ - Forum VB / VBA
1 réponse
Bonjour,
Il y a des choses que je ne comprends pas:
Tu déclares vI de type Variant et tu l'utilises comme un objet dans For Each vI In rRange, ensuite tu testes si un contrôle contient un objet dans if cbagent.Text = vI then, il y a déjà là une incompatibilité.
Dans Range("(L, ColDeb):(L, ColFin)").Interior.ColorIndex = 6 ce qui est entre guillemet est considéré comme une chaîne de caractère et non comme une variable
;o)
Il y a des choses que je ne comprends pas:
Tu déclares vI de type Variant et tu l'utilises comme un objet dans For Each vI In rRange, ensuite tu testes si un contrôle contient un objet dans if cbagent.Text = vI then, il y a déjà là une incompatibilité.
Dans Range("(L, ColDeb):(L, ColFin)").Interior.ColorIndex = 6 ce qui est entre guillemet est considéré comme une chaîne de caractère et non comme une variable
;o)
Pour ce qui est du "Range" il serait peut être plus correct d'écrire :
Range(.Cells(L, ColDeb), .Cells(L, ColFin)).Interior.ColorIndex = 6
Par ce qui est de la première partie (l'incompatibilité), aurais tu une solution a me proposer ?