dionys0s
XLDnaute Impliqué
ReBonjour le forum
J'ai fait des recherches et ai essayé les solutions proposées (If Not truc Is Nothing Then ... Else Exit Sub, ou encore If MaRef = "" Then Exit Sub) mais rien de marche. Quand je clique sur annuler sur mon InputBox, ma macro plante invariablement. Je pense que c'est parce que mon InputBox est typé 8, c'est à dire qu'il me sert de sélecteur de cellule(s). Ou alors j'ai du yahourt dans les yeux et le cerveau. Ou les deux.
Enfin si une âme charitable a déjà eu affaire à ce problème et a une solution à me proposer, je suis preneur.
Le code incriminé :
Bonne soirée à toutes-zé-à-tous
J'ai fait des recherches et ai essayé les solutions proposées (If Not truc Is Nothing Then ... Else Exit Sub, ou encore If MaRef = "" Then Exit Sub) mais rien de marche. Quand je clique sur annuler sur mon InputBox, ma macro plante invariablement. Je pense que c'est parce que mon InputBox est typé 8, c'est à dire qu'il me sert de sélecteur de cellule(s). Ou alors j'ai du yahourt dans les yeux et le cerveau. Ou les deux.
Enfin si une âme charitable a déjà eu affaire à ce problème et a une solution à me proposer, je suis preneur.
Le code incriminé :
Code:
Sub Modifier_les_couleurs_d_une_cellule() 'OK
Dim CoulPol As Long
Dim RougePol As Integer
Dim VertPol As Integer
Dim BleuPol As Integer
Dim CoulFond As Long
Dim RougeFond As Integer
Dim VertFond As Integer
Dim BleuFond As Integer
Dim CelluleCible As Range
With ActiveCell
CoulPol = .Font.Color
CoulFond = .Interior.Color
End With
RougePol = CouleurRGB("Rouge", CoulPol)
VertPol = CouleurRGB("Vert", CoulPol)
BleuPol = CouleurRGB("Bleu", CoulPol)
RougeFond = CouleurRGB("Rouge", CoulFond)
VertFond = CouleurRGB("Vert", CoulFond)
BleuFond = CouleurRGB("Bleu", CoulFond)
Set CelluleCible = Application.InputBox(Prompt:="Sélectionner la plage à colorer (police + remplissage", Title:="Sélection d'une plage", Type:=8)
If RougeFond + VertFond + BleuFond = 3 * 255 Then
CelluleCible.Font.Color = RGB(RougePol, VertPol, BleuPol)
Else
With CelluleCible
.Font.Color = RGB(RougePol, VertPol, BleuPol)
.Interior.Color = RGB(RougeFond, VertFond, BleuFond)
End With
End If
End Sub
Bonne soirée à toutes-zé-à-tous