Partager via

Mise à jour Excel pour variables publiques ?

Anonyme
2025-07-02T16:23:12+00:00

Bonjour,

Depuis ce jour, VBA ne me trouve plus mes déclarations de variables publiques. J'ai déclaré dans un module toutes mes variables en public. Ici celle qui pose problème : "Public c As Range"

J'ai une "erreur d'exécution - incompatibilité de type 13" quand je lance ma macro qui contient le code surligné en jaune lors du débogage :

Set c = Worksheets("Dimensions").Range("A3:A1000").Find(What:=Range("A1").Value)

Si je teste en mettant "Dim c As Range" dans ma procédure, cela fonctionne de nouveau. Sauf que tous mes fichiers de travail fonctionnent avec des variables publiques !

  • Avez-vous fait une mise à jour Excel dernièrement ?
  • Ce problème va-t-il se régler ?
  • Faut-il déclarer les variables publiques autrement ?

Merci

Microsoft 365 et Office | Excel | Pour les entreprises | Windows

Question verrouillée. Cette question a été migrée à partir de la Communauté Support Microsoft. Vous pouvez voter pour indiquer si elle est utile, mais vous ne pouvez pas ajouter de commentaires ou de réponses ni suivre la question.

0 commentaires Aucun commentaire

4 réponses

  1. Anonyme
    2025-07-03T08:44:39+00:00

    Ah ben voilà !

    Ils nous ont changé les ordinateurs portables. Il me semblait avoir remis les références qu'il fallait, mais je viens de voir qu'elles n'étaient plus cochées dans la librairie, effectivement.

    J'ai re-coché celles qu'on utilise et, effectivement, maintenant cela fonctionne !!

    Merci beaucoup Arnaud pour ton aide. Je vais aller faire la même chose sur le portable de ma collègue ;)

    Bonne journée !

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  2. Hecatonchire 53,540 Points de réputation Modérateur bénévole
    2025-07-03T08:21:01+00:00

    Bonjour,

    Dans VBE (l'éditeur VBA), active/affiche l'un des modules du classeur > Contrôle via Outils>Références que, en haut de la liste, aucune des références cochées n'est intitulée MANQUANT ou MISSING :

    Image

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  3. Anonyme
    2025-07-03T07:51:24+00:00

    Bonjour,

    Merci pour votre réponse. Je viens de tester, mais cela me met toujours l'erreur 13 (incompatibilité de type).

    Set c = Sheets("Dimensions").Range("A3:A10000").Find(What:=Worksheets("Gestion Dimensions").Range("A1").Value)

    Mes autres collègues travaillent sur un système de client léger (mini poste connecté à un serveur) et cela fonctionne. Moi et une autre collègue avons un ordinateur portable. Notre serveur est passé sur SharePoint il y a 1 mois. J'ai déjà dû corriger quelques macros.

    Mais là on dirait vraiment que c'est l'histoire des variables publiques car, comme je le disais, si je déclare ma variable dans ma procédure en cours, cela fonctionne de nouveau (sauf que si je dois saisir manuellement mes variables dans tous mes classeurs et procédures qui utilisent des variables Range, je n'ai pas fini) :)

    Je me pose la question si notre version d'Excel aurait pu bénéficier d'une mise à jour très récente qui affecterait les déclarations de variables en Public (j'ai un module exprès pour cela).

    Merci

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  4. Hecatonchire 53,540 Points de réputation Modérateur bénévole
    2025-07-02T16:41:44+00:00

    Bonjour,

    Je pense que ton problème vient du Find qui échoue ne fonctionnant pas sur la bonne feuille.

    Teste :

    Set c = Worksheets("Dimensions").Range("A3:A1000").Find(What:=**Worksheets("????").**Range("A1").Value)

    en remplaçant ????

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire