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 :

Les opérateurs de manipulation de chaines de caractères ne fonctionnent pas [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    237
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2004
    Messages : 237
    Par défaut Les opérateurs de manipulation de chaines de caractères ne fonctionnent pas
    Salut tout le monde,

    J'ai développé une macro qui fonctionne partout sauf sur l'ordi de mon collègue. J'ai une erreur de compilation sur les opérateurs de manipulation de chaines de caractères comme len, mid, right, left,...
    Est-ce qu'il faut ajouter une référence particulière?

    Merci d'avance,
    Jean

  2. #2
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    J'ai développé une macro qui fonctionne partout sauf sur l'ordi de mon collègue
    Je pense qu'il faut plutot s'occuper de la version d'excel et mettre un exemple de ce qui ne fonctionne pas (un bout de code)

    Bonne soirée
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  3. #3
    Membre Expert
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    1 186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 186
    Par défaut
    Bonsoir,

    Pour prolonger l'idée de Casefayere :
    J'ai récemment rencontré un problème similaire sous XLS2003 pour l'accès aux fonctions de l'ensemble Strings.
    Pour parvenir à accéder aux fonctions de cet ensemble, j'ai dû faire précéder les noms de fonctions de Strings. .
    exemples :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Strings.Len(...) Strings.Mid(...)
    A+

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    237
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2004
    Messages : 237
    Par défaut
    @casefayere
    Excel 2010
    et voici un exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    If Left(Feuille.Name, 5) = "Datas" And Feuille.Visible Then
                LBNomFeuil.AddItem Feuille.Name
                i = 1 + 1
    End If
    qui donne une erreur de compilation sur Left alors que ça fonctionne sur tous les autres ordis.

    @BlueMonkey
    Je vais essayer ça!

    Merci à tous les deux,
    Jean

  5. #5
    Membre Expert
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    1 186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 186
    Par défaut
    Re,

    Si ça fonctionne, essaye de faire une réparation d'Office depuis le panneaux de configuration Programes bouton Modifier -> Réparer.
    Ensuite peut être que tu pourras de nouveau écrire du code sans préciser Strings.

    A+

  6. #6
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    je pense que la version Excel et/ou Windows est différente.
    Dans VB Menu->outils->références
    regarde si tu à des références manquantes.
    si c'est le cas décoche les.
    en revanche,si ton fichier est sur un serveur, il deviendra le seule à pouvoir l'utiliser. la manip inverse pour revenir à la version Xp et/ou Excel 2003

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    237
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2004
    Messages : 237
    Par défaut
    Voici le résultat de mes tests.
    Lorsque j'ai ajouté Strings devant les opérateurs ça a réglé le problème des chaines de caractère mais ça s'est planté sur les manipulations de date.

    J'ai vérifié les références et il y avait effectivement une référence manquante sur powerpoint. Je l'ai décoché et ça a réglé ce problème. Sauf que je ne pouvait plus faire appel aux fonctions de powerpoint.

    J'ai donc recoché la référence powerpoint et tout est rentré dans l'ordre!

    Comme j'aime bien comprendre j'ai quelques questions. Si jamais vous aviez un éclairage à m'apporter là-dessus ce serait super.
    D'après vous, qu'est-ce qui fait qu'à un moment donné la référence est devenue manquante?

    Pourquoi une référence manquante à powerpoint génère des erreurs dans la manipulation des chaines de caractère et des dates?

    Je n'ai pas pu tester la solution de BlueMonkey (réparer). Est-ce que ça aurait pu corriger ce problème de référence?

  8. #8
    Membre Expert
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    1 186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 186
    Par défaut
    Bonjour,

    A ma connaissance, les seuls cas où la corruption des références est connu, est le cas où tu ouvres le même fichier, avec des versions différentes d'Office.

    ex : création d'un fichier sous XLS2003 => référence 2003 ajoutée
    ouverture du fichier sous XLS2010 => référence automatiquement modifiée pour prendre les référence Office 2010.
    réouverture du fichier sous XLS2003 => référence cassé, car il ne sait pas quoi faire des références Office 2010.
    Mais le même fichier fonctionnera très bien avec XLS2010.

    A+

  9. #9
    Invité
    Invité(e)
    Par défaut
    C'est pour cette raison qu'il faut coder en 'late binding' mais le gros inconvénient est que tu perds la complétion automatique.
    http://mhubiche.developpez.com/vba/f...endre/binding/

  10. #10
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    237
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2004
    Messages : 237
    Par défaut
    Merci à tous pour vos excellents conseils!

    Jean

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

Discussions similaires

  1. Manipulation de chaine de caractères, supression d'une apostrophe
    Par pmithrandir dans le forum Scripts/Batch
    Réponses: 6
    Dernier message: 28/11/2007, 08h55
  2. Manipulation des chaines de caractères en c
    Par developppez dans le forum C
    Réponses: 8
    Dernier message: 29/04/2007, 14h04
  3. Réponses: 1
    Dernier message: 12/04/2007, 17h54
  4. Réponses: 4
    Dernier message: 15/10/2006, 00h38
  5. Réponses: 4
    Dernier message: 20/08/2004, 11h59

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