IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Problème compatibilité excel 2003-2010 [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Femme Profil pro
    Inscrit en
    Octobre 2010
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 148
    Points : 52
    Points
    52
    Par défaut Problème compatibilité excel 2003-2010
    Bonjour le forum

    J'ai un certain nombre de macro qui me pose des problème de compatibilité entre excel 2003 et excel 2010.
    En efeft, avant je travaillais sur 2003, mes macros fonctionnaient bien et depuis 2010 certaines marchent et d'autres ne fonctionne plus comme avant.

    Je vous donne un exemple qui ne marche plus

    J'ai un 1er code qui s'incluent directement sur la feuille :
    Ce code me permet d'appliquer une MFC en fonction de la feuille légende

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    Private Sub Worksheet_Change(ByVal Target As Range) 
     
    Application.ScreenUpdating = False
     
    If Intersect(Target, [$E$4:$GF$58]) Is Nothing Then Exit Sub 
     
        For Each Cel In Target 
            Set Cel_R = Sheets("Légende").[$B$2:$B$34].Find(Cel, LookIn:=xlValues, LookAt:=xlWhole)
                If Cel_R Is Nothing Then
                    Cel.Interior.Color = xlNone 
     
                Else
            Cel.Interior.Color = Cel_R.Interior.Color 
            Cel.Font.Color = Cel_R.Font.Color 
            Cel.Font.Bold = Cel_R.Font.Bold 
     
                End If
     
        Next Cel
     
     
    Application.ScreenUpdating = True ' Remet le comportement initial
     
     
    End Sub

    Après j'utilise l'autre code pour grisée les cellules vides:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    Sub MFC_Grisées()
     
    Sheets("Feuil1").Select
     
    Range("$E$4:$GF$58").Select 
     
    Selection.FormatConditions.Delete 
     
    Selection.FormatConditions.Add Type:=xlExpression, Formula1:="=E4=""""" 'Ajoute une condition si la case est vide
     
        With Selection.FormatConditions(1).Interior
             .ColorIndex = none
            .Pattern = xlGray16 
        End With
     
    Range("$A$1").Select
     
    End Sub

    Avant (sur excel 2003) lorsque je voulais affecter un code de la feuille légende sur une cellule grisée, je n'avais pas de souci la case se mettait comme je voulais (de la bonne forme et couleur) et la cellule n'était plus grisée
    Maintenant sur 2010 ça en marche plus la cellule reste grisée. Que faut-il faire?

    y-a-t-il au pire un moyen de grouper les 2 macros?

    Merci beaucoup

    Bonne journée

    Cordialement

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 819
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 819
    Points : 28 723
    Points
    28 723
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Quel est la ligne qui ne fonctionne pas en 2010 et bien en 2003 ?
    Attention que tu utilises la propriété ColorIndex or la palette de couleurs est différentes en 2010 par rapport à 2003.
    Il est préférable d'utiliser le code RGB avec la propriété Color
    A la ligne 12 de ton 2ème code la valeur à passer à la propriété ColorIndex n'est pas none mais xlNone
    Voir ci-dessous
    With Range("C5").Interior
    .ColorIndex = xlNone
    .Pattern = xlGray16
    End With
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  3. #3
    Membre du Club
    Femme Profil pro
    Inscrit en
    Octobre 2010
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 148
    Points : 52
    Points
    52
    Par défaut
    Bonjour,

    Merci pour la réponse
    Pour les couleurs c'est noté.

    En fait ce n'est pas la ligne qui ne marche pas mais les 2 codes cumulés.

    Avant sur 2003, lorsque je voulais remplacer une cellule grisée par un autre code (exemple fond bleu, écriture blanche : code mis sur la feuille légende) je n'avais pas de soucis

    La ma cellule reste grisée et ne m'applique pas le format désiré.

    Tu veux peut être un fichier en exemple pour comprendre mes codes et ce que je souhaite? car ce n'est peut être pas assez clair mes explications

    Cordialement

    Voici l'exemple je pense que ça sera plus clair

    Merci

    PS : La macro grisé n'est pas lancé là
    Fichiers attachés Fichiers attachés

  4. #4
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 819
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 819
    Points : 28 723
    Points
    28 723
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Comment veux-tu que cette procédure soit lancée ?
    Dans ton premier code, à quelle ligne invoques-tu cette procédure ?
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  5. #5
    Membre du Club
    Femme Profil pro
    Inscrit en
    Octobre 2010
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 148
    Points : 52
    Points
    52
    Par défaut
    Bonjour

    Je ne l'invoque pas cette procédure je lance manuellement une fois en début de semestre et après en général je en la touche plus sauf si je rajoute des lignes ou des colonnes

    Par contre s'il y a moyen de l'intégrer directement dans "private" ça le fais aussi bien cela me fait une macro de moins

  6. #6
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 819
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 819
    Points : 28 723
    Points
    28 723
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Je ne sais pas ce qui ne fonctionne pas alors.
    J'ai fait tourner la procédure MFC_Grisées en 2003 & 2010 cela fonctionne parfaitement.
    La procédure événementielle Worksheet_Change fonctionne aussi dans les 2 versions.
    Quelque chose m'aurait échappé ou bien as-tu une autre procédure que tu n'as pas montrée.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  7. #7
    Membre du Club
    Femme Profil pro
    Inscrit en
    Octobre 2010
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 148
    Points : 52
    Points
    52
    Par défaut
    Bonjour

    Voilà moi quand je le teste ce que ça donne
    Exemple en J11 la cellule reste grisée alors que le fond devrait redevenir blanc et en L12 idem la cellule reste grisée alors qu'elle devrai être verte
    toi ça en te le fais pas ça?

    Alors que sur 2003 pas de problème comme ca

    Merci
    Fichiers attachés Fichiers attachés

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Compatibilité excel 2003 / 2010
    Par artheos dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 15/11/2012, 11h34
  2. [XL-2010] Problème compatibilité macro excel 2003 / 2010
    Par alf62000 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 10/11/2012, 17h43
  3. Compatibilité Excel 2003 - outlook 2010
    Par fleur57 dans le forum Outlook
    Réponses: 1
    Dernier message: 29/08/2012, 23h05
  4. [Toutes versions] compatibilité office excel 2003 2010
    Par CODYCO dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 28/11/2011, 15h35
  5. [OpenOffice][Base de données] Compatibilité Excel 2003 et openOffice 3.0
    Par frack dans le forum OpenOffice & LibreOffice
    Réponses: 14
    Dernier message: 13/01/2009, 13h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo