Dépassement de capacité
Résolu
boboros
-
boboros -
boboros -
Bonjour,
J'ai réalisé un programme pour colorier les cellules dans Excel en fonction du mot que je mets dans une colonne.
Malheureusement, après la ligne 250 cela ne marche plus et on me met qu'il y a un problème de capacité.
Merci d'avance de m'apporter une solution.
Je vous joins mon code ci-dessous:
######################################################
Private Sub Worksheet_Change(ByVal Target As Range)
Dim lig As Byte, plage As Range
If Intersect(Target, Range("AA1:AA5000")) Is Nothing Then: Exit Sub
lig = Target.Row
Set plage = Range(Cells(lig, 1), Cells(lig, 24))
Select Case Target
Case Is = "A"
plage.Interior.ColorIndex = 48 'Gris pour "A"'
Case Is = "B"
plage.Interior.ColorIndex = 2 'Blanc pour "B"'
Case Is = "C"
plage.Interior.ColorIndex = 10 'Vert pour "C"'
Case Is = "D"
plage.Interior.ColorIndex = 10 'Vert pour "D"'
Case Is = "E"
plage.Interior.ColorIndex = 33 'Bleu pour "E"'
Case Is = "F"
plage.Interior.ColorIndex = 45 'Orange pour "F"'
Case Is = "G"
plage.Interior.ColorIndex = 3 'Rouge pour "G"'
Case Is = "H"
plage.Interior.ColorIndex = 3 'Rouge pour "H"'
Case Is = "I"
plage.Interior.ColorIndex = 10 'Vert pour "I"'
Case Else
plage.Interior.ColorIndex = -4142 'Enlève la couleur'
End Select
Set plage = Nothing
End Sub
########################################################
Encore merci.
J'ai réalisé un programme pour colorier les cellules dans Excel en fonction du mot que je mets dans une colonne.
Malheureusement, après la ligne 250 cela ne marche plus et on me met qu'il y a un problème de capacité.
Merci d'avance de m'apporter une solution.
Je vous joins mon code ci-dessous:
######################################################
Private Sub Worksheet_Change(ByVal Target As Range)
Dim lig As Byte, plage As Range
If Intersect(Target, Range("AA1:AA5000")) Is Nothing Then: Exit Sub
lig = Target.Row
Set plage = Range(Cells(lig, 1), Cells(lig, 24))
Select Case Target
Case Is = "A"
plage.Interior.ColorIndex = 48 'Gris pour "A"'
Case Is = "B"
plage.Interior.ColorIndex = 2 'Blanc pour "B"'
Case Is = "C"
plage.Interior.ColorIndex = 10 'Vert pour "C"'
Case Is = "D"
plage.Interior.ColorIndex = 10 'Vert pour "D"'
Case Is = "E"
plage.Interior.ColorIndex = 33 'Bleu pour "E"'
Case Is = "F"
plage.Interior.ColorIndex = 45 'Orange pour "F"'
Case Is = "G"
plage.Interior.ColorIndex = 3 'Rouge pour "G"'
Case Is = "H"
plage.Interior.ColorIndex = 3 'Rouge pour "H"'
Case Is = "I"
plage.Interior.ColorIndex = 10 'Vert pour "I"'
Case Else
plage.Interior.ColorIndex = -4142 'Enlève la couleur'
End Select
Set plage = Nothing
End Sub
########################################################
Encore merci.
A voir également:
- Excel dépassement de capacité
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
- Fiche de pointage excel - Télécharger - Tableur
Dim lig As Integer, plage As Range
A partir d'Excel 2007 il vaut mieux utiliser :
Dim lig As Long, plage As Range
J'ajouterai qu'avec les capacités des ordinateurs actuels, la différence entre Integer et Long étant quasi incommensurable, il convient de toujours utiliser Long.
En effet, même sur 2003, on peux dépasser les 32000 lignes et des...
Il faut aussi penser à la portabilité de vos applications, excel 2003 ayant déjà 10 ans.
Bonne journée
Mon programme marche comme je veux maintenant :)
Encore Merci