Mon code bug sur mon PC alors qu'il fonctionnait au boulot

Gisamark

XLDnaute Junior
[PROBLEME RESOLU]

Bonjour à tous ! :)

Je ne sais plus quoi faire !
Je dois continuer une application que j'avais commencé au boulot, mais elle plante chez moi... :confused:
J'ai d'abord cru à une incompatibilité avec Excel 2007 (car au boulot ils ont Excel 2003).
Mais finalement, j'ai téléchargé (illégalement, je sais, mais je n'avais pas le choix :eek:) Excel 2003, et le problème est le même.

Cette ligne de code plante, alors qu'elle n'a aucune raison de planter (et qu'elle ne plantait pas au boulot) :
Worksheets("Fantôme").Range("K3").FormulaLocal = _
"=INDEX('1. Importation'!F4:F" & DrnLigne & "; Fantôme!K1)"


Et si je la met en commentaire, d'autres lignes dans le même genre plantent aussi.
Y a-t-il une version que je n'ai pas ? Des mises à jour possible ? N'importe quel complément pour lire ce code ?

Un grand merci à tous ceux qui pourraient m'aider.
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : Mon code bug sur mon PC alors qu'il fonctionnait au boulot

Re


Pas avec Firefox en tout cas, ni avec IE 7
3sans titre.jpg

(Sinon , je n'aurai pas pris la peine de rédiger le précédent message :rolleyes: )

Le forum t'offre la possibilité de joindre des fichiers dans tes messages
(ce qui est plus commode non ?)

Ton fichier étant inférieur à 48ko, tu pouvais le poster.
 
Dernière édition:

job75

XLDnaute Barbatruc
Re : Mon code bug sur mon PC alors qu'il fonctionnait au boulot

Bonsoir le fil,

Il est tard mais avant d'aller me coucher j'ai été intrigué par ce fil de 5 feuilles et 64 posts :eek:

Et je suis tombé sur ça, au post #21 :

Ou peut-être cela vient-il du fait que ma version est en anglais ?

Comment voulez-vous qu'une version anglaise d'Excel puisse accepter dans une cellule une formule "Local" comportant un point-virgule :confused:

Code:
Worksheets("Fantôme").Range("K3").FormulaLocal = _
"=INDEX('1. Importation'!F4:F" & DrnLigne & "[COLOR="Red"][SIZE="3"];[/SIZE][/COLOR] Fantôme!K1)"

alors que ça doit être bien évidemment :

Code:
Worksheets("Fantôme").Range("K3").FormulaLocal = _
"=INDEX('1. Importation'!F4:F" & DrnLigne & "[COLOR="red"][SIZE="3"],[/SIZE][/COLOR]Fantôme!K1)"

Mais je ne ferai aucun pari puisque des formules, sans doute bonnes, ont été proposées avec FormulaR1C1...

A+

A+
 

Gisamark

XLDnaute Junior
Re : Mon code bug sur mon PC alors qu'il fonctionnait au boulot

Oh non !!!

job75, LE MESSI !!!
Pourquoi le messi n'arrive-t-il qu'à 1h40... :(

job75 a raison : comme ma version est anglaise, la syntaxe dans les forulalocal n'est pas la même puisque formulalocal remplie directement une case excel.

Il faut donc (à l'intérieur des formulalocal) remplasser les ; par des , et aussi les , par des . (puisqu'en anglais on écrit 1.3 pour 1 virgule 3)

Bravo à toi, dommage que tu arrives si tard...
 

Staple1600

XLDnaute Barbatruc
Re : Mon code bug sur mon PC alors qu'il fonctionnait au boulot

Bonjour Gisamark, job75, les gens du fil et du forum

Gisamark
Tiens ce mot me dit quelque chose .... :D Ah oui c'était Lien supprimé
Sans rancune , jeune padawan ;)

Un dernier petit conseil pour la route: Il te reste plus qu'à sensiblement alléger ton code, et à créer plus de sous-routines
(cela rendra la lecture de ton code plus fluide)

jeanpierre: merci pour la mise ne ligne sur le forum du fichier csv
 
Dernière édition:

Gisamark

XLDnaute Junior
Re : Mon code bug sur mon PC alors qu'il fonctionnait au boulot

Bonjour Staple et les autres,

Tiens ce mot me dit quelque chose .... :D Ah oui c'était Lien supprimé
Sans rancune , jeune padawan ;)
Quelle cruauté, quelle perfidie ! :p
Ta syntaxe était fausse aussi ! :D
Mais bon tu as raison, je suis un padawan et à défaut d'avoir pu finir à temps, j'ai au moins appris quelque chose...


Un dernier petit conseil pour la route: Il te reste plus qu'à sensiblement alléger ton code, et à créer plus de sous-routines
(cela rendra la lecture de ton code plus fluide)
Merci pour ces conseils ; par contre, qu'est-ce que les "sous-routines" ? (si ce n'est pas trop difficile à expliquer)

Merci.
 

Gisamark

XLDnaute Junior
Re : Mon code bug sur mon PC alors qu'il fonctionnait au boulot

Bon et bien j'ai jusqu'à lundi matin pour finir mon application.
Maintenant que je connais la raison du problème, je devrais y arriver. :)

Encore une fois, un grand merci à vous tous !
Vous avez tous tenté de trouver une solution, avec un acharnement admirable pour certains.


PS : Staple, si tu passes par là, tu pourrais me dire ce qu'est une "sous-routine" stp ?
 

skoobi

XLDnaute Barbatruc
Re : Mon code bug sur mon PC alors qu'il fonctionnait au boulot

Bonjour le fil,

une "sous-routine" est une procédure qui est appelée dans une autre procédure comme ceci:

Code:
Sub test()
......
..........
Call test2
End Sub
test2 est la sous-routine.
Ces procédures, comme le dit Jean-Marie ;), permettent d'alléger le code et le rend plus lisible si je puis dire.
Quand plusieurs blocs de ligne de code se répètent, tu peux créer une sous-routine contenant ces lignes et tu appelles cette procédure dans la procédure principale comme dans l'exemple.
 

Gisamark

XLDnaute Junior
Re : Mon code bug sur mon PC alors qu'il fonctionnait au boulot

Re-bonjour !

Excusez-moi de faire remonter ce post, mais j'ai ENFIN trouvé la solution précise.
Je vous la fait partager pour que si à l'avenir quelqu'un a le même problème que moi, vous ayez cette idée en tête. ;)

En fait, j'ai une version française d'Excel 2003, et malgré tout le problème persistait.
En réalité, cela dépend des options par défaut de votre système d'exploitation. (Vista dans mon cas)
Chez moi, le séparateur par défaut pour les décimales était le point, quelque soit la version d'Excel que j'avais (FR ou EN).

Pour corriger cela, c'est tout simple :
Dans la barre des tâches d'Excel, Outils --> Options --> International.
Et là, vous décocher "Utiliser les paramètres système", puis vous mettez une virgule dans "Séparateur de décimale" et un espace dans "Séparateur de milliers".

Maintenant mon code fonctionne parfaitement ! :)
Merci à tous !