Aide VBA comparaison de deux fichiers Excel - VB/VBA/VBS - Programmation
Marsh Posté le 29-01-2015 à 17:43:19
Bonjour, bonjour !
Cette erreur est juste une erreur de conception ! Du reste son message est assez clair …
Suivre donc la progression du code en mode pas à pas via la touche F8
tout en vérifiant le contenu de la fenêtre des Variable locales …
_______________________________________________________________________
Tous unis, tous Charlie
Marsh Posté le 30-01-2015 à 08:50:05
Bonjour,
Désolée de ne pas avoir répondu plus tôt. J'ai fait comme tu m'as dit en vérifiant les Variables Locales, et j'ai bien un problème pour la variable "Cellule", elle reste à "Nothing" et ne prend pas la valeur escomptée.
Est-ce que je dois d'abord l'initialiser avec une valeur quelconque ?
Marsh Posté le 30-01-2015 à 10:15:50
Bon, j'ai légèrement modifié mon code pour qu'il soit un peu moins bordélique:
Code :
|
En fait, je ne pense pas que cela vienne de Cellule, mais plutôt de Tableau1(I), une fois que j'ai effectué tous les I de 1 à LastLine, Tableau1(I) m'indique: "L'indice n'appartient pas à la sélection".
C'est pour cela que Cellule n'arrive pas à s'initialiser. Bon maintenant que j'ai trouvé la source du problème, pourquoi cela pose problème ??
Marsh Posté le 30-01-2015 à 12:53:41
Dans l'aide VBA intégrée, quel type de donnée renvoie donc la propriété Row ?
Corriger la déclaration des variables en conséquence …
En ligne n°11 il y a confusion des genres, c'est l'un ou l'autre mais pas les deux ‼
Comme activer ou sélectionner en général ne sert à rien à part ralentir la procédure :
Code :
|
Même si alimenter une variable tableau par les valeurs de cellules via une boucle est complètement idiot
(les lignes n°2 à 6 de cette correction pouvant être remplacées par une seule ligne de code !),
il fonctionne sans souci de mon côté sur différentes versions d'Excel …
Si ce n'est pas le cas du tien, suivre le code en mode pas à pas pour débusquer ton erreur …
Marsh Posté le 29-01-2015 à 15:13:27
Bonjour à tous,
J'ai un problème concernant un de mes scripts VBA. Je vais tenter d'être le plus clair possible.
Sur mon fichier Excel1, j'ai une suite de nombres tels que ci-dessous, avec des lignes vides parfois (obligatoire):
5250035
5250037
5430111
5450039
5450044
1010068
1010070
1030322
Ensuite, j'ai un fichier Excel3, où il y a les nombres du fichier Excel 1 mais aussi des nombres qui n'y sont pas, ainsi qu'une deuxième colonne avec d'autres nombres. Ici, il n'y a pas de lignes vides:
1010070 3
1030322 5
1050590 3
1050597 5
1580128 2
J'avais trouvé sur un ancien topic de futura-sciences une personne cherchant à comparer deux fichiers excel, comme moi, le script ci-dessous que j'ai tenté de modifier à ma sauce:
Si vous comprenez là où je veux en venir, c'est que sur mon Excel1, je retrouve les nombres de la deuxième colonne du fichier Excel3, et ainsi laisser vide les cellules où les nombres n'y sont pas, ainsi avoir, si on reprend l'exemple précédent:
5250035
5250037
5430111
5450039
5450044
1010068
1010070 3
1030322 5
Cependant, lorsque je tente de lancer le script, j'ai l'erreur suivante:
Erreur d'exécution "9"
L'indice n'appartient pas à la sélection
Selon moi, c'est le Tableau1 qui ne fonctionne pas bien, car il n'arrive pas à voir les lignes vides et celles qui n'existent pas dans la correspondance Excel1 <-> Excel3
J'ai tenté de mettre une itération "If", cependant je n'ai pas été avancé, et comme le VBA, je ne suis pas un spécialiste, je bloque.
C'est ainsi que je sollicite l'aide de personnes plus expérimentées que moi, car là je sèche.
Merci pour votre aide
Message édité par El_Cypriano le 29-01-2015 à 16:06:50