Erreur d'exécution '1004'
Fermé
nana.belk
Messages postés
5
Date d'inscription
samedi 8 septembre 2018
Statut
Membre
Dernière intervention
11 septembre 2018
-
Modifié le 9 sept. 2018 à 15:23
nana.belk Messages postés 5 Date d'inscription samedi 8 septembre 2018 Statut Membre Dernière intervention 11 septembre 2018 - 11 sept. 2018 à 14:46
nana.belk Messages postés 5 Date d'inscription samedi 8 septembre 2018 Statut Membre Dernière intervention 11 septembre 2018 - 11 sept. 2018 à 14:46
A voir également:
- Erreur d'exécution '1004'
- Erreur 0x80070643 - Accueil - Windows
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
- Erreur vidéo freebox ✓ - Forum TV & Vidéo
- Erreur 1001 outlook - Accueil - Bureautique
- Erreur 38 free ✓ - Forum Mobile
1 réponse
yg_be
Messages postés
23352
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
27 novembre 2024
Ambassadeur
1 554
Modifié le 8 sept. 2018 à 19:48
Modifié le 8 sept. 2018 à 19:48
bonjour,
1° ajoute "option explicit" en début de module, et traite les avertissements que tu vas probablement recevoir
2° réfléchis à tes deux boucles while imbriquées: que veux-tu obtenir?
3° informe-nous de la ligne qui provoque l'erreur 1004, ainsi que du texte du message d'erreur et es valeurs de i et de n à ce moment-là
4° moi je préciserais: Sheets("commandes internes").Rows.Count
1° ajoute "option explicit" en début de module, et traite les avertissements que tu vas probablement recevoir
2° réfléchis à tes deux boucles while imbriquées: que veux-tu obtenir?
3° informe-nous de la ligne qui provoque l'erreur 1004, ainsi que du texte du message d'erreur et es valeurs de i et de n à ce moment-là
4° moi je préciserais: Sheets("commandes internes").Rows.Count
8 sept. 2018 à 20:00
concernant le message d'erreur explicite le voilà "Erreur '1004' : erreur définie par l'application ou par l'objet" ça provient de cette ligne If Sheets("commandes internes").Cells(i, 6) = bsText.Value Then
A propos des avertissements reçus, il s'agissait au fait des variables utilisées sans être définies je ne pense pas que c'est vraiment un problème
voilà ! merciii
Modifié le 8 sept. 2018 à 22:17
ta double boucle est mal conçue. peux-tu décrire, en français, ce que tu voudrais que ces boucles fassent?
merci de mettre "option explicit", cela permettra d'éliminer des erreurs d'inattention. ensuite, partage ton code corrigé.
quelles sont les valeurs de i et de n au moment de l'erreur?
as-tu appliqué mon point 4? merci de partager le code adapté.
Modifié le 9 sept. 2018 à 15:24
voici le code corrigé
Au fait oui j'ai tenté de compter les lignes avec Sheets("commandes internes").Rows.Count mais j'obtiens un autre message d'erreur dès le départ "Erreur d'exécution 6 : Dépassement de capacité" donc j'ai remis mon premier code pour que ça s'exécute
à la fin de l'exécution, j'obtiens le message d'erreur '1004' et les valeurs de i et n respectivement sont:_ bizarrement _1048577 et 7 (correct :le nombre de lignes non vides de ma feuille commandes internes)
maintenant je pense que c'est l'incrémentation du i jusqu'à cette valeur qui cause la lenteur de l'exécution
voilà!
Explications disponibles ici : ICI
Merci d'y penser dans tes prochains messages.
9 sept. 2018 à 15:21
tu n'as pas encore précisé sur quelle ligne tu avais l'erreur 1004, ni le texte du message d'erreur
je pense que tu n'as aucune raison d'avoir une boucle en j. de plus, tes boucles ne sont pas correctement imbriquées. relis ton texte en #4: où est l'utilité d'une boucle en j?
Modifié le 10 sept. 2018 à 00:21
Pour un numéro de ligne, il faut utiliser une variable de type Long : les numéros de ligne varient de 1 à 1048576 mais le Type Integer s'arrête à 32767 ( ce qui explique l'erreur "Erreur d'exécution 6 : Dépassement de capacité"
Édit : Pour faire ta recherche tu devrais utiliser la méthode Find
Cdlt
Patrice