• Initiateur de la discussion Initiateur de la discussion billyboy
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

B

billyboy

Guest
Bonjour le forum,
Je navigue depuis quelques temps sur le forum et j'y trouve généralement tout ce dont j'ai besoin, cependant aujourd'hui je bloque, je fais donc appel à l'équipe d'experts que vous êtes pour me dépanner.
ci après mon problème:
j'ai utiliser des petits de morceaux de VBA ici et la afin de réaliser un calendrier qui se met en forme automatiquement en fonction des dates ( rtt,ferie, etc..)
Problème, un des code ne fonctionne semble t il pas tres bien, jobtiens le message d'erreur ci après "erreur d'exécution:'50290' erreur défini par l'application ou par l'objet"
la partie du code mise en cause est celle-ci:

Private Sub Worksheet_Calculate()

Dim Cell As Range
For Each Cell In Range("B7:B37")
With Cell
If .Value = Range("M23").Value Then
Range(Cells(.Row, 2), Cell(S.Row, 7)).Interior.ColorIndex = 4
End If
End With
With Cell
If .Value = Range("M24").Value Then
Range(Cells(.Row, 2), Cells(.Row, 7)).Interior.ColorIndex = 4
End If
End With
With Cell
If .Value = Range("M25").Value Then
Range(Cells(.Row, 2), Cells(.Row, 7)).Interior.ColorIndex = 4
End If
End With
With Cell
If .Value = Range("M26").Value Then
Range(Cells(.Row, 2), Cells(.Row, 7)).Interior.ColorIndex = 4
End If
End With
With Cell
If .Value = Range("M27").Value Then
Range(Cells(.Row, 2), Cells(.Row, 7)).Interior.ColorIndex = 4
End If
End With
With Cell
If .Value = Range("M28").Value Then
Range(Cells(.Row, 2), Cells(.Row, 7)).Interior.ColorIndex = 4
End If
End With
With Cell
If .Value = Range("M29").Value Then
Range(Cells(.Row, 2), Cells(.Row, 7)).Interior.ColorIndex = 4
End If
End With
Next Cell

End Sub


Merci d'avance pour toute l'aide que vous pourrez m'apporter.
 
Re : erreur '50290' help

bonjour

Range(Cells(.Row, 2), Cell(S.Row, 7)).Interior.ColorIndex = 4

ce S. me parait peu opportun (là, le but du jeu etait de placer opportun dans un post, j'ai gagné^^)

corrige déjà cette petite erreur, et dis nous

salut
 
Re : erreur '50290' help

Bonjour Billyboy, Hervé, Mutzik,

J'ai essayé ta procédure sans rencontrer d'erreur. Par contre, ce n'est pas nécessaire d'écrire x fois la même chose dans une procédure, il vaut mieux faire une boucle simple.

Je te propose 2 procédures qui font la même chose avec des logiques différentes:

La première avec une boucle sur tous les RTT pour chaque date.
Code:
Private Sub Worksheet_Calculate()
Dim cell As Range
Range("B7:H37").Interior.ColorIndex = xlNone
For Each cell In Range("B7:B37")
    For i = 23 To 38
    If cell.Value = Range("M" & i).Value Then
    Range(Cells(cell.Row, 2), Cells(cell.Row, 7)).Interior.ColorIndex = 4
    End If
    Next i
Next cell
End Sub

Ou la deuxième avec une recherche dans les RTT pour chaque date:

Code:
Private Sub Worksheet_Calculate()
Dim cell As Range, c As Range
Range("B7:H37").Interior.ColorIndex = xlNone
For Each cell In Range("B7:B37")
    With Worksheets("FORMULAIRE").Range("M23:M38")
    Set c = .Find(cell.Value, LookIn:=xlFormulas, Lookat:=xlWhole)
    If Not c Is Nothing Then
    Range(Cells(cell.Row, 2), Cells(cell.Row, 7)).Interior.ColorIndex = 4
    End If
    End With
Next cell
 
End Sub

Par ailleurs dans la procédure de ton exemple, la dernière instruction:
Code:
Range("B7:H37").Interior.ColorIndex = xlNone

Supprime toutes les couleurs que tu as mis précedemment. Donc la procédure telle quelle ne sert à rien 😕

@+

Gael
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
839
Réponses
4
Affichages
262
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
Réponses
15
Affichages
651
Réponses
4
Affichages
692
Retour