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 :

Erreur VBA version anglaise


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Responsable des études
    Inscrit en
    mai 2022
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable des études

    Informations forums :
    Inscription : mai 2022
    Messages : 4
    Points : 1
    Points
    1
    Par défaut Erreur VBA version anglaise
    Bonjour,
    Nous venons de passer en version 365 et certains ordinateurs ont OFFICE en Anglais.
    Dans ce cas là, certaines macros ne fonctionnent plus sur ces ordis, alors qu'elles fonctionnent très bien sur OFFICE en français.
    J'ai notamment une erreur lorsque je veux selectionner une feuille ou un fichier avec ce code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Workbooks("_HISTO.xlsm").Activate
    Sheets("Datas").Activate
    J'ai essayé plusieurs chose mais rien ne fonctionne.

    Nous avons aussi enregistré un macro avec Excel, et il n'arrive pas à relire le code:
    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
     
    Sub Macro3()
    '
    ' Macro3 Macro
    '
    Range("J2658").Select
    ActiveCell.FormulaR1C1 = ""
    Range("J2648").Select
    ActiveCell.FormulaR1C1 = "9849849"
    Range("J2649").Select
    Sheets("Datas").Select
    Range("E1:G11").Select
    Selection.Copy
    Range("K23").Select
    ActiveSheet.Paste
    Sheets("ETUDES").Select
    Application.CutCopyMode = False
    ActiveCell.FormulaR1C1 = "10101"
    Range("J2650").Select
    ActiveCell.FormulaR1C1 = "1010"
    Range("H2650").Select
    End Sub
    Voici l'erreur qu'il me retourne:

    Run-time error '-2147319784 (800280 18)':

    Method 'Select' of object 'Range' failed


    Pouvez-vous m'aider à comprendre SVP ?



    Salutations

  2. #2
    Membre régulier
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    avril 2022
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Finance

    Informations forums :
    Inscription : avril 2022
    Messages : 81
    Points : 114
    Points
    114
    Par défaut
    les instructions "Activate" et "Select" sont éviter le plus possible.

    Au lieu de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Workbooks("_HISTO.xlsm").Activate
    Sheets("Datas").Activate
    Il vaut mieux écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    With Workbooks("_HISTO.xlsm").Sheets("Datas")
    'mettez vos instructions ici
    'tel que: .Range("C23") = xyz, ou .Cells(23,3) = xyz, ou .[C23]=xyz, par exemple
    End With

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Responsable des études
    Inscrit en
    mai 2022
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable des études

    Informations forums :
    Inscription : mai 2022
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Merci Belga16 pour ta réponse.
    Mais ça n'explique toujour pas pourquoi Excel n'arrive pas à relire un code qu'il génère lui-même dans Office365(EN)

    Toutefois je n'arrive pa à faire fonctionner ma fonction
    J'utilise un Fonction pour charger les Listbox ou Combo dans une userform et ça me plante si j'utilise With Sheets() si la feuille n'est pas activée alors qu'avec le sheets().activate, ça fonctionne.

    Voici mon code:

    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
    Function Chargmt(Feuille_ As String, Ligne_ As String, Colonne_ As String, _
    Valdeb As String, Valfin As String, List_box_ As Control) As String
     
    'Fonction de chargement des Combobox ou listbox
    'avec recherche de valeur de debut "Valdeb" et de fin "Valfin"
     
     
    With Sheets(Feuille_)
        Kas0 = Colonne_ + CStr(Ligne_)
     
        Do Until Range(Kas0).Text = Valdeb
            Ligne_ = Ligne_ + 1
            Kas0 = Colonne_ + CStr(Ligne_)
        Loop
     
        Do Until Range(Kas0).Text = Valfin
            Ligne_ = Ligne_ + 1
            Kas0 = Colonne_ + CStr(Ligne_)
                    If Range(Kas0).Text = Valfin Then Exit Do
            List_box_.AddItem Range(Kas0).Text
     
        Loop
    End With
     
    End Function

  4. #4
    Membre régulier
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    avril 2022
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Finance

    Informations forums :
    Inscription : avril 2022
    Messages : 81
    Points : 114
    Points
    114
    Par défaut
    Vous pouvez toujours poster copie anonymisée de votre fichier pour y voir de plus près !

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Responsable des études
    Inscrit en
    mai 2022
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable des études

    Informations forums :
    Inscription : mai 2022
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par Belga16 Voir le message
    Vous pouvez toujours poster copie anonymisée de votre fichier pour y voir de plus près !
    Bonjour, voici un exemplaire d'un fichier.

    J'ai constaté que selon les version Excel installées, les macros fonctionnent ou ne fonctionnent pas. Exemple
    - Version 16.0.14326.20900: Ne fonctionne pas sur les 2 PC recencés
    - Version 16.0.14326.20782 et 16.0.14326.20908: Fonctionnent

    N'y a t-il pas un bug de sécurité qui bloquerait la lecture de la macro?

    Merci
    Fichiers attachés Fichiers attachés

  6. #6
    Membre régulier
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    avril 2022
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Finance

    Informations forums :
    Inscription : avril 2022
    Messages : 81
    Points : 114
    Points
    114
    Par défaut
    J'a remplacé partout
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Workbooks("_HISTO.xlsm")
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Workbooks(ThisWorkbook.Name)
    et ça a fonctionné

  7. #7
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    novembre 2003
    Messages
    18 959
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : novembre 2003
    Messages : 18 959
    Points : 55 090
    Points
    55 090
    Billets dans le blog
    128
    Par défaut
    Salut.

    Ton code fonctionnera sans soucis sur des versions linguistiques différentes d'Excel. Changer _histo.xlsm par ThisWorkbook n'est certainement pas à l'origine du succès de la macro. Chez moi, avec _histo.xlsm, ça fonctionne très bien aussi.

    Ton numéro d'erreur est très bizarre car ce n'est pas numéro d'erreur généré par Excel selon moi, et en tout cas pas lors d'une mauvaise sélection de feuille ou de plage.

    Il faudrait que tu dises sur quelle ligne tu as l'erreur. Vérifie si tu n'as pas une macro complémentaire cochée sur le nouvel ordi (style la macro de conversion eurotools, par exemple, qui est plus que vérolée et qui pose problème. Si elle est cochée, décoche-la.

    Vérifie aussi si tu as d'autres projets VBA ouverts en même temps.


    En tout état de cause et de première analyse, ton code peut sans soucis passer du FR au EN et vice-versa.
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  8. #8
    Nouveau Candidat au Club
    Homme Profil pro
    Responsable des études
    Inscrit en
    mai 2022
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable des études

    Informations forums :
    Inscription : mai 2022
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Bonjour,
    J'ai testé en passant ma version en Anglais et ça fonctionne.
    J'ai vraiment l'impression qu'il y a des version d'excel qui ne fonctionne pas, ou qui sont incompatible avec la politique de sécurité de l'entreprise.


    Merci

Discussions similaires

  1. [VBA] Versions Runtime et Versions de Office
    Par ADONET dans le forum Runtime
    Réponses: 5
    Dernier message: 05/09/2006, 14h14
  2. erreur VBA dans un recordset
    Par rapace dans le forum Access
    Réponses: 4
    Dernier message: 12/10/2005, 15h52
  3. Question Basique Gestion Erreur VBA ...
    Par Le_Phasme dans le forum Access
    Réponses: 2
    Dernier message: 11/10/2005, 13h42

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