Excel VBA erreur aléatoire

Bonsoir

J'ai un tableau excel avec des formulaires et un VBA pour gérer tout un processus de commande et réception

Les étapes étant : ouverture d'un document modèle - création de commande (référence modèle suffixé de la date du jour) - validation de commande - réception - validation de réception - traitement de la réception dans SAP

le tout se passant à partir d'un formulaire maitre unique dans lequel on active et désactive les différents boutons nécessaires

La création de commande se passe sans problème

Ensuite intervient le valideur qui ouvre le document et qui à sa disposition un bouton VALIDER COMMANDE

Quand on clique sur ce bouton, les deux premières instructions sont :

Private Sub boutonvalcde_Click()

wchemin = Sheets(refcde1).Range("D1") & "/" & Sheets(refcde1).Range("D4") & ".xlsm"

WCHEMIN est un variable publique de type string

REFCDE1 est un constante publique qui contient le nom de la feuille

D1 et D4 sont des cellules qui contiennent les parties du nom du document qu'on vient d'ouvrir et qui sont garnies à l'étape CREATION DE COMMANDE

A partir de WCHEMIN on fait un SAVEAS avec WCHEMIN comme paramètre d'adresse du document

Je ne fait pas un SAVE simple car derrière j'appelle une routine commune ENREGISTRER qui permet à partir du modèle de départ de créer le document commande/réception spécifique et donc avec nouveau nom

De temps en temps lorsqu'on clique sur le bouton de validation , sur l'instruction d'affectation de WCHEMIN on a l'erreur '9', l'indice n'appartient pas à la sélection

Mais la plupart du temps ça se déroule sans souci

Quand on a ce message, on refait des tentatives et après quelques essais infructueux ça finit par fonctionner

Je voudrais savoir si quelqu'un a rencontré ce genre de souci aléatoire et s'il existe des pistes

Je pourrais éventuellement faire un SAVE simple mais pas certain que ça fonctionnerait car après l'instruction WCHEMIN j'ai des affectations de variables à partir de cellules de la feuille REFCDE1

Or si l'utilisation de la référence REFCDE1 pose problème avec WCHEMIN, ça risque de se produire sur l'affectation des autres variables

De plus impossible de provoquer pour test le problème

Merci d'avance

Bonsoir,

Essayer déjà de remplacer le slash par l'antislash

wchemin = Sheets(refcde1).Range("D1") & "\" & Sheets(refcde1).Range("D4") & ".xlsm"

et ce code serait plus simple :

With Sheets(refcde1)
      wchemin = .Range("D1") & "\" &  .Range("D4")  & ".xlsm"
End with

Bonsoir

Merci pour cette réponse mais malheureusement à mon avis ça ne va pas fonctionner pour deux raisons

1) je ne vois pas trop pourquoi en mettant des anti-slashs ça fonctionnerait systématiquement

2) j'ai oublié de donner un élément important : le chemin est une URL du document dans une bibliothèque SharePoint donc ce sont bien des slashs

En tout cas merci beaucoup d'avoir essayé à cette heure tardive

Bien cordialement

Rechercher des sujets similaires à "vba erreur aleatoire"