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 :

La macro stoppe à ExecuteExcel4Macro


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Consultant en modélisation financière
    Inscrit en
    Octobre 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant en modélisation financière
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2011
    Messages : 6
    Par défaut La macro stoppe à ExecuteExcel4Macro
    Bonjour,

    J'ai créé une macro de mise en forme conditionnelle d'un tableau de relevés de prix pour que, notamment, la quantité achetée d'un article soit affichée dans un format correspondant au type de quantité mise à la vente. Par exemple, si l'article est vendu à l'unité, le format sera # ##0 ; s'il est vendu au kg, le format sera # ##0,000 kg ; s'il est vendu au litre, le format sera # ##0,000 l ; etc.

    Je ne suis pas un professionnel et j'ai créé cette macro à l'aide la commande "Enregistrer une macro". A chaque mise en forme conditionnelle d'un nombre, cette commande a ajouté une ligne "ExecuteExcel4Macro". Mais lorsque je lance la macro, elle s'arrête à la première ligne "ExecuteExcel4Macro" [dont je ne comprends d'ailleurs ni le fonctionnement ni l'utilité ici ;-)].

    Le message d'erreur est le suivant :

    Nom : Capture d’écran 2023-09-11 100107.jpg
Affichages : 198
Taille : 22,4 Ko

    Nota : La commande "Enregistrer une macro" ne crée pas de ligne "ExecuteExcel4Macro" pour d'autres mises en forme que celle des formats de nombres ; il n'y en a pas, par exemple pour la création de traits de séparation en fonction de la date, de l'acheteur (payeur) ou du tiers (magasin) ...

    Voici le code de ma macro :

    Sub MiseEnForme()
    '
    ' Mise en forme conditionnelle du tableau :
    ' - Application des formats appropriés en fonction du type de quantité mise à la vente
    ' - Insertion d'une bordure entre chaque date et chaque tiers
    '

    Application.ScreenUpdating = False

    Dim Plage As Range

    'Redéfinit les champs nommés

    'Identifie la dernière ligne du tableau de la feuille active
    ActiveSheet.Range("N1").Select
    Selection.End(xlDown).Offset(0, -1).Select
    Selection.End(xlUp).Select
    L = ActiveCell.Row

    'Définit le tableau des données dans la feuille sélectionnée
    With ActiveSheet
    Set Plage = Range("A1:M" & L)
    ActiveWorkbook.Names("Tableau").RefersTo = Plage
    End With

    'Définit la colonne des quantités
    With ActiveSheet
    Set Plage = Range("G1:G" & L)
    ActiveWorkbook.Names("Quantités").RefersTo = Plage
    End With

    'Définit la colonne des prix
    With ActiveSheet
    Set Plage = Range("H1:H" & L)
    ActiveWorkbook.Names("Prix").RefersTo = Plage
    End With

    'Définit la colonne des vérifications
    With ActiveSheet
    Set Plage = Range("M1:M" & L)
    ActiveWorkbook.Names("Vérifications").RefersTo = Plage
    End With

    'Crée les règles de mise en forme conditionnelle du tableau

    'Annule les précédentes règles
    Range("Tableau").Select
    Cells.FormatConditions.Delete

    'Règle 1 : Applique le format nombre standard aux cellules contenant des quantités de type "unité" dans la colonne G
    Range("Quantités").Select
    Selection.FormatConditions.Add Type:=xlExpression, Formula1:="=$F1=""unité"""
    Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
    ExecuteExcel4Macro "(2,1,""# ##0"")"
    Selection.FormatConditions(1).StopIfTrue = False

    'Règle 2 : Applique le format nombre 0,000 kg aux cellules contenant des quantités de type "kg" dans la colonne G
    Range("Quantités").Select
    Selection.FormatConditions.Add Type:=xlExpression, Formula1:="=$F1=""kg"""
    Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
    ExecuteExcel4Macro "(2,1,""# ##0,000"" kg"""")"
    Selection.FormatConditions(1).StopIfTrue = False

    ...

    'Règle 9 : Trace un trait de séparation entre les dates, les payeurs et les tiers sur toute la largeur du tableau
    Range("Tableau").Select
    Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
    "=OU($A1<>$A1;$B2<>$B1;$D2<>$D2)"
    Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
    With Selection.FormatConditions(1).Borders(xlBottom)
    .LineStyle = xlContinuous
    .TintAndShade = 0
    .Weight = xlThin
    End With
    Selection.FormatConditions(1).StopIfTrue = False

    Range("A1").Select
    Application.ScreenUpdating = True

    End Sub

    Savez-vous pourquoi la macro bloque sur ces lignes "ExecuteExcel4Macro" ? Merci d'avance pour vos lumières !

  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
    13 163
    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 : 13 163
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Je ne sais pas ce que vous avez utilisé comme commande en enregistrant votre macro car ExecuteExcel4Macro provient des anciennes macros avant que l'on utilise le VBA.
    Pour obtenir ce que vous souhaitez, il faut utiliser le format personnalisé et en VBA le format nombre d'une cellule, c'est la propriété NumberFormat que je ne vois pas dans votre code.
    Je n'utilise jamais de code VBA pour la mise en forme conditionnelle, je le fais manuellement.
    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
    Nouveau membre du Club
    Homme Profil pro
    Consultant en modélisation financière
    Inscrit en
    Octobre 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant en modélisation financière
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2011
    Messages : 6
    Par défaut
    Citation Envoyé par Philippe Tulliez Voir le message
    Bonjour,
    Je ne sais pas ce que vous avez utilisé comme commande en enregistrant votre macro car ExecuteExcel4Macro provient des anciennes macros avant que l'on utilise le VBA.
    Pour obtenir ce que vous souhaitez, il faut utiliser le format personnalisé et en VBA le format nombre d'une cellule, c'est la propriété NumberFormat que je ne vois pas dans votre code.
    Je n'utilise jamais de code VBA pour la mise en forme conditionnelle, je le fais manuellement.
    Merci de cette indication. Personnellement je n'avais jamais vu et je connaissais pas cette instruction ExecuteExcel4Macro : c'est en utilisant la fonctionnalité d'enregistrement automatique d'une macro proposée par Excel dans le menu développeur qu'elle est apparue toute seule dans les lignes de codes [mais où va-t-on si Excel ne sait pas exécuter les commandes qu'il propose lui même :-) !]

    Pièce jointe 643723

    Dans mon cas, je ne peux laisser la mise en forme conditionnelle à la main de l'utilisateur : il faut que je la code en VBA. Or, en ce qui concerne la propriété NumberFormat, il me semble qu'elle permet de formater des nombres dans une plage déterminée, mais je ne vois pas comment l'utiliser dans une mise en forme conditionnelle programmée en VBA.

  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
    13 163
    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 : 13 163
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Dans mon cas, je ne peux laisser la mise en forme conditionnelle à la main de l'utilisateur : il faut que je la code en VBA.
    Je ne laisse pas non plus les utilisateurs appliquer la mise en forme conditionnelle. Je voulais juste dire que je ne vois pas la raison de faire en VBA ce que je peux faire manuellement en quelques minutes.

    Voici un exemple de code avec une mise en forme conditionnelle sur la colonne "Qté" du tableau nommé "t_Catalogue"
    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
    Sub ApplyConditionalFormatting()
      Const TableName As String = "t_Catalogue"       ' Nom de la table
      Const LabelName As String = "Qté"               ' Colonne où appliquer la MFC
      Const FormulaPattern As String = "=(D3=<Type>)" ' Modèle de la formule
      Const NumberPattern As String = "#.##0 <Unité>" ' Modèle du format nombre à appliquer
      Dim l As ListObject            ' Table à traiter
      Dim r As Range                 ' Plage où appliquer la MFC (voir LabeName)
      Dim t As Variant, u As Variant ' Tables
      Dim e As Byte
      Set l = Range(TableName).ListObject
      Set r = l.ListColumns("Qté").DataBodyRange
      t = Array("Poids;Kg", "Longueur;m", "Unité;Pcs")
      ' Effacer tous les formats conditionnels existants
      r.FormatConditions.Delete
      ' Appliquer le format conditionnel suivant liste t
      For e = LBound(t) To UBound(t)
        u = Split(t(e), ";")
        With r.FormatConditions.Add(Type:=xlExpression, Formula1:=Replace(FormulaPattern, "<Type>", Chr(34) & u(0) & Chr(34)))
        .NumberFormat = Replace(NumberPattern, "<Unité>", Chr(34) & u(1) & Chr(34))
        End With
      Next
      Set l = Nothing: Set r = Nothing
    End Sub
    Illustration

    Nom : 230911 dvp ConditionnalFormating_NumberFormat.png
Affichages : 180
Taille : 10,6 Ko
    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
    Nouveau membre du Club
    Homme Profil pro
    Consultant en modélisation financière
    Inscrit en
    Octobre 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant en modélisation financière
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2011
    Messages : 6
    Par défaut La macro stoppe à ExecuteExcel4Macro
    OK, merci beaucoup : j'ai un exemple sérieux.

    Maintenant, je vais essayer de le décrypter ;-).

    En tout cas, il me reste beaucoup à apprendre !

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Consultant en modélisation financière
    Inscrit en
    Octobre 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant en modélisation financière
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2011
    Messages : 6
    Par défaut
    Citation Envoyé par Philippe Tulliez Voir le message
    Bonjour,
    Voici un exemple de code avec une mise en forme conditionnelle sur la colonne "Qté" du tableau nommé "t_Catalogue"
    L'idée que vous m'avez donnée d'utiliser NumberFormat, votre exemple et quelques autres recherches sur le net m'ont permis, enfin, de faire tourner ma macro.

    C'est quand même extraordinaire que la commande "Enregistrer une macro" d'Excel 365 fournisse du code erroné !

    En tout cas, merci encore : l'aide sur ce forum est précieuse !

  7. #7
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 163
    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 : 13 163
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Merci pour votre retour.
    C'est quand même extraordinaire que la commande "Enregistrer une macro" d'Excel 365 fournisse du code erroné !
    C'est la raison pour laquelle, je me suis demandé quelle commande vous aviez utilisée pour obtenir ce genre de code.
    Comme je suis curieux, j'ai essayé d'obtenir un code en faisant une mise en forme conditionnelle avec un format personnalisé et la seule ligne de code que j'ai eue, c'est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Selection.NumberFormat = "#,##0"" Kg"""
    alors que je suis convaincu qu'il y a plusieurs mois, j'avais un code plus complet ayant au moins un objet de la collection FormatConditions dans le code créé.
    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

  8. #8
    Membre émérite
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2022
    Messages
    685
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Octobre 2022
    Messages : 685
    Par défaut
    Bonjour,
    comme je suis curieux aussi, j'ai tenté et j'ai obtenu :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
       Range("D2:D17").Select
        Selection.NumberFormat = "#,##0"" kg"""
        Selection.FormatConditions.Add Type:=xlExpression, Formula1:="=(C2=""kg"")"
        Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
        ExecuteExcel4Macro "(2,1,""# ##0"" kg"""")"
        Selection.FormatConditions(1).StopIfTrue = False
    Juste pour que PariPassu se sente moins seul
    Ça ressemble à une jolie régression, parce qu'il me semble que ça marchait raisonnablement...

  9. #9
    Expert confirmé
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    4 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 218
    Par défaut
    Hello,
    Citation Envoyé par Tête de chat Voir le message
    Ça ressemble à une jolie régression, parce qu'il me semble que ça marchait raisonnablement...
    Avec quelle version ? parce que moi aussi avec Excel 2016 j'ai un ExecuteExcel4Macro "(2,1,""# ##0"" kg"""")"

    Ami calmant, J.P

  10. #10
    Nouveau membre du Club
    Homme Profil pro
    Consultant en modélisation financière
    Inscrit en
    Octobre 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant en modélisation financière
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2011
    Messages : 6
    Par défaut
    Citation Envoyé par Tête de chat Voir le message
    Juste pour que PariPassu se sente moins seul
    Citation Envoyé par jurassic pork Voir le message
    Avec quelle version ? parce que moi aussi avec Excel 2016 j'ai un ExecuteExcel4Macro "(2,1,""# ##0"" kg"""")"
    Ami calmant, J.P
    Merci à Tête de chat de penser à l'immense solitude du béotien quand il ne comprend pas grand chose à ce qu'il se passe ;-). Solitude heureusement oubliée grâce à ce forum !

    De mon côté, je suis abonné à Microsoft 365, donc en principe j'ai une version à jour d'Excel. Pourtant, j'ai fait d'autres essais simples et la commande Enregistrer la macro me reproduit toujours le même type de code que jurassic pork avec deux lignes commençant par Selection.FormatConditions suivies de cette fichue instruction ExecuteExcel4Macro.

    Mon problème personnel est maintenant réglé mais si en tant qu'experts vous avez un jour une réponse à cette étonnante faiblesse d'Excel, je suis preneur !

    Bonne journée à tous.

  11. #11
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 163
    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 : 13 163
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Moi, j'ai la version Microsoft 365 Apps for business (Version 2308 : 28 août)
    Et voilà ce que me propose l'enregistreur de macros
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub Macro1()
    '
    ' Macro1 Macro
    '
    '
        Selection.NumberFormat = "#,##0"" Kg"""
    End Sub
    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

  12. #12
    Expert confirmé
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    4 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 218
    Par défaut
    Hello Philippe,
    Quel est ton mode opératoire ?
    Parce que moi aussi j'obtiens un code semblable au tien pour un formatage simple de cellule :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub Macro1()
    '
    ' Macro1 Macro
    '
        Selection.NumberFormat = "#,##0.00"
    End Sub
    Mais quand le formatage est dans une mise en forme conditionnelle j'ai un ExecuteExcel4Macro "(2,1,""# ##0,00"")"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub Macro2()
    '
    ' Macro2 Macro
        Application.CutCopyMode = False
        Selection.NumberFormat = "General"
        Selection.NumberFormat = "#,##0.00"
        Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, _
            Formula1:="=$D$4"
        Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
        ExecuteExcel4Macro "(2,1,""# ##0,00"")"
        Selection.FormatConditions(1).StopIfTrue = False
    End Sub
    Ami calmant, J.P

  13. #13
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 163
    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 : 13 163
    Billets dans le blog
    53
    Par défaut
    Bonjour J.P,
    Quel est ton mode opératoire ?
    Parce que moi aussi j'obtiens un code semblable au tien pour un formatage simple de cellule
    Comme on le fait habituellement quand on n'en a besoin
    • Enclencher l'enregistreur
    • Effectuer les opérations manuelles (ici la mise en forme conditionnelle, Utiliser une formule pour déterminer pour quelles cellules le format sera appliqué, choisir le format)
    • Arrêter l'enregistreur

    Par curiosité, j'ai essayé une MFC avec la règle Appliquer une mise en forme uniquement aux cellules qui contiennent et là, mise à part la première ligne et la dernière Sub et End Sub, rien.

    Ce qui est fou, c'est que je suis certain qu'il y a près d'un an, j'avais eu besoin de connaître une propriété de ConditionnalFormating et l'enregistreur m'a donné les méthodes et propriétés utilisées.
    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

  14. #14
    Expert confirmé
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    4 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 218
    Par défaut
    Citation Envoyé par Philippe Tulliez Voir le message
    Comme on le fait habituellement quand on n'en a besoin
    • Enclencher l'enregistreur
    • Effectuer les opérations manuelles (ici la mise en forme conditionnelle, Utiliser une formule pour déterminer pour quelles cellules le format sera appliqué, choisir le format)
    • Arrêter l'enregistreur
    Merci Philippe. C'est bien ce que j'ai fait sous Excel 2019 et j'ai bien une ligne avec ExecuteExcel4Macro comme on peut le voir dans ma Macro2

  15. #15
    Membre émérite
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2022
    Messages
    685
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Octobre 2022
    Messages : 685
    Par défaut
    Bonjour,

    c'est que je suis certain qu'il y a près d'un an, j'avais eu besoin de connaître une propriété de ConditionnalFormating et l'enregistreur m'a donné les méthodes et propriétés utilisées.
    Je disais à peu près la même chose plus haut, et après un nouveau test, chez moi (365) ça marche bien du moment qu'on n'embarque pas dans la mise en forme un format de nombre.

Discussions similaires

  1. [XL-2010] Peut-on empêcher une macro d'être stoppée ?
    Par Justunpeu dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 26/11/2018, 20h47
  2. [XL-2010] Macro stoppe à la 65536e ligne !
    Par Stardust31 dans le forum Macros et VBA Excel
    Réponses: 25
    Dernier message: 24/02/2018, 14h14
  3. Macro stoppée par correcteur orthographique
    Par ilcocodrillo dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 02/08/2008, 14h33
  4. Qu'est-ce qu'une macro ?
    Par karli dans le forum Assembleur
    Réponses: 2
    Dernier message: 01/09/2002, 03h38
  5. Réponses: 2
    Dernier message: 22/07/2002, 12h13

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