Anomalie dans une macro excel toute simple

UsulArrakis Messages postés 7683 Statut Contributeur -  
 Utilisateur anonyme -
Bonjour,
j'ai une macro qui date un peu réalisée au départ pour excel 2003 sous XP
maintenant je suis sous W10 avec excel 2016 et j'ai un message d'erreur sur Interior par rapport à Range
ça freeze excel

si qq'un peut m'aider, je ne suis pas macroteur mais juste utilisateur

merci

Sub ChgCoul(z$)
Dim x%, y%
Select Case z
Case "grisjaune": x = 15: y = 36
Case "grisrien": x = 15: y = none
Case "grisbleu": x = 15: y = 34
Case "grisvert": x = 15: y = 35
Case "grisorange": x = 15: y = 40
Case "vertgris": x = 35: y = 15
Case "vertjaune": x = 35: y = 36
Case "vertbleu": x = 35: y = 34
Case "vertorange": x = 35: y = 40
Case "vertrien": x = 35: y = none
Case "jaunegris": x = 36: y = 15
Case "jaunebleu": x = 36: y = 34
Case "jauneorange": x = 36: y = 40
Case "jaunevert": x = 36: y = 35
Case "jaunerien": x = 36: y = none
Case "bleugris": x = 34: y = 15
Case "bleuvert": x = 34: y = 35
Case "bleujaune": x = 34: y = 36
Case "bleuorange": x = 34: y = 40
Case "bleurien": x = 34: y = none
Case "orangegris": x = 40: y = 15
Case "orangevert": x = 40: y = 35
Case "orangebleu": x = 40: y = 34
Case "orangejaune": x = 40: y = 36
Case "orangerien": x = 40: y = none
End Select
For Each o In Selection
If o.Interior.ColorIndex = x Then o.Interior.ColorIndex = y
Next
End Sub



--
(_Usul d'Arrakis
    Serial_Dreamer_)

2 réponses

  1. ThauTheme Messages postés 1564 Statut Membre 160
     
    Bonjour UsulArrakis, bonjour le forum,

    Peut-être en déclarant la variable o au début :
    Dim o As Range

    0
  2. Utilisateur anonyme
     
    Bonjour UsulArrakis, bonjour le forum,

    Tu dois remplacer tous les « y = none » par : « y = xlNone ».

    Si ton problème est réglé, merci d'aller en haut de page
    pour cliquer sur « Marquer comme résolu ».

    Cordialement. :)
    0
    1. UsulArrakis Messages postés 7683 Statut Contributeur 3 196
       
      Bonjour albkan
      merci pour ta réponse
      je vais tester et je reviens dire ce que ça donne
      0
      1. Utilisateur anonyme > UsulArrakis Messages postés 7683 Statut Contributeur
         
         
        Bonjour UsulArrakis,

        À tout hasard, je précise que pour xlNone, entre le x et le N,
        ce n'est pas un i majuscule mais un L minuscule.  ;)

        Car en VBA, le début des noms de constantes Excel est xl (pour Excel).

        Si ça a marché, n'oublies pas d'aller en haut de page pour
        cliquer sur le lien « Marquer comme résolu ».

        Cordialement.  :)
         
        0