FIABILITE VBA REMISE EN QUESTION

J

Jer

Guest
Bonjour à tous

je développe en ce moment et depuis quelque temps un programme en VBA utile à mon métier. Je travaille sur le réseau de mon entreprise et du jour au lendemain, mon programme n'a plus marché (depuis que j'ai demandé au service info de me réinitialiser Excel, j'avais qq messages d'erreurs à l'ouverture).
Du coup, vu que mon programme est tout de même destiné à fonctionner un certain temps, je me demande si de l'avoir programmé en VBA n'est pas un peu "mal joué". J'ai l'impression qu'il sera fortement "instable" et "dépendant" des versions d'Excel futures.
1 - Comment se protéger contre les éventuelles évolutions qui "bugeraient" mon programme ?
2 - Ai je tout de même bien fait d'utiliser VBA pour mon programme ?
3 - Qqun a t'il déjà eu ce problème ?
4 - Comment pourais je être"malin" face à ces problèmes (travailler sur un portable totalement séparé du réseau, changer de logiciel, ...) ?

merci pour vos lumières
Jérôme
 
T

Thierry

Guest
Salut Jer et Mireille, et le forum

Réponse de Mireille Idem pour moi, en réseau, et depuis Excel 4.

Pour répondre point par point
1) = "Se Protéger"
D'abord il faut bien sûr se tenir informé des évolutions si tu écris un prog en VBA aujourd'hui... Disons que TOUT se qui tournait sous Excel 4 (mis à part la bétise d'avoir fait du VBA "français", voir d'autres posts) donc je disais TOUT tourne encore aujourd'hui même avec XP. Par contre il est recommandé d'utiliser "les Outils d'Aujourd"hui" (par exemple les macros "Auto_Open remplacées par des macros évènementielles (voir aussi d'autres posts à ce sujet)
2) = "bien fait"
Euf... oui bien sûr !! enfin tout dépend de ce que tu fais et de ce que tu veux obtenir...
3) ="Quelqu'un a t'il eu ce problème"
Euf...Non! enfin là aussi tout dépend de ce que tu appelles "problème" et il est dommage que tu ne puisses pas détailler les messages d'erreurs que tu as eu....
4) = "Malin"
Humm Humm, là je ne suis pas encore sûr d'avoir compris ce que tu as écris... Si ta programmation VBA est bien faite... Elle doit tourner sur n'importe quel PC, en réseau, en "stand alone", portable ou pas portable... La seule condition est d'avoir au moins Office installé correctement... non ? Quand à changer d'appli... Là je n'arrive pas à suivre ???

Petite Question... "du jour au lendemain, mon programme n'a plus marché" qu'est-ce qu'il ce passe quand tu le lances MAINTENANT ? puisque tu dis "depuis qu'ils m'ont remis à jour EXCEL je n'ai plus les messages d'erreur" ??

Je pense aux gens qui débutent et nous lisent ici... VBA est l'outil le plus efficace et simple pour les tous les niveaux d'utilisateurs des applications Office Excel en tête, mais également Access, Word, Outlook et Powerpoint aussi...
VBA est une étape incontournable pour faire ses premiers pas en programmation, l'enregistreur de Macro étant l'outil pédagogique le plus utile que Bill et son équipe n'ont jamais proposé dans Microsoft. Bien sûr VBA a ses limites... Mais si l'on reste dans son contexte d'utilisation, il peut faire des "miracles"... et même plus :)

Voilà, faut pas faire "flipper" les nouveaux avec des affirmations que je ne trouve pas fondées. Ptet que ta programmation est elle-même fautive ? Si tu peux récupérer les modules en .txt envoie toujours...

Bonne Soirée
@+Thierry
 
J

Jer

Guest
Bonjour

Pour ceux que j'ai pu effrayer, je m'excuse. Je voulais attirer l'attention de ceux qui n'ont aucune formation informatique de base et qui comme moi sont totalement "out" face à l'informatique.

Ma formation au VBA, c'est grace au Forum que je l'ai acquise en restant inconnu derrière les "locaux / authochtones" qui osent s'exprimer "au grand public" (merci Thierry entre autres) et qui nous apprennent chaque jour.

Par contre, quelle ne fut pas ma décéption et ma démotivation le jour ou, à peine raccroché le téléphone avec le service info pour me nettoyer Excel bourré de message d'erreurs, ma macro ne fonctionnait plus !

Ma macro comporte trois "directions" différentes selon ce que je veux faire. Dans 2 directions, je peux avancer mais si je choisi l'optionbutton n°3, je me fais violemment viré (retour sur bureau sans sauvegarde possible). Pourtant, mes trois "direction" fonctinne globalement pareil.
Pour simplifier, ma macro sert juste à remplir une feuille Excel par l'intermédiare d'un "interface visuel".

Au lieu, dans une feuille Excel, d'écrire dans une cellule, "veuillez entrer la date", j'ouvre un Userform dans lequel l'utilisateur entre la date. La feuille Excel se remplie ensuite toute seule et l'opération de remplissage de ma feuille est totalement transparente face à l'utilisateur. Donc rien de bien "élaboré".

Ce matin, "REBELOTE", messages d'erreur à l'ouverture d'Excel. Les voici (cette fois je les ai relevés !)
Erreur de macro à la cellule :
[SOLVER.XLA]Excel4Functions!A125

et lorsque je fais "pas à pas"
j'ai une suite d'erreur dont le première est :
Formule : =END.IF()

Si qqun comprend ces messages ?

Désolé encore.
Pour les débutants, "persistez", une fois accrocs, on n'arrive pas à décrocher !!! Pour preuve on n'ose ensuite "lancer des patates chaudes" sur le forum.

Jérôme
 
T

Thierry

Guest
Bonjour Jérôme,

Merci pour avoir rectifié le tir...

Bon, le genre de message que tu as, signifie que tu as un problème de XLA...

Ton admin réseau ne t'a pas mis les "Add-ins" nécessaires... Solveur est un des add-ins (macro complémentaire) que tu dois pouvoir ajouter toi-même depuis Excel (pas VBE) :

Menu / Outil / macro complémentaire / la dans la liste tu coches "Solver Add-in" (sorry suis en US ici) et tout devrait rentrer dans l'ordre...

Un conseil, quand tu fais des appli qui font appel à des XLS fait un "READ ME" en commentaire pour te rappeler de ce dont ta macro a besoin pour tourner...

L'autre message = Formule : =END.IF(), je ne le connais pas sous cette forme... Le débuger s'arrête où?

Enfin mets déjà les add-ins nécessaires ptet que celui là disparaitra aussi...

Merci de bien vouloir "persister"

Bon travail
@+Thierry