A voir également:
- Je ne comprend pas l'erreur dans ma formule "DateDiff"
- Messages d'erreur liés aux formules - Articles
- Erreur (#DIV/0) formule MOYENNE.SI.ENS ✓ - Forum - Excel
- Erreur #NOM? pour formule =CONCATENER(RECHERCHEV ✓ - Forum - Excel
- Erreur dans ma formules ✓ - Forum - Excel
- Erreur incompréhensible sur formule Excel ✓ - Forum - Excel
2 réponses
jordane45
- Messages postés
- 31072
- Date d'inscription
- mercredi 22 octobre 2003
- Statut
- Modérateur
- Dernière intervention
- 17 janvier 2021
Bonjour
Je vois plusieurs erreurs dans ton code...
Déjà tu boucles sur les lignes 2 à 9 sur une première feuille pour trouver la différence sur chaque ligne mais tu n'utilise pas ta variable....
Ta seconde boucle le prenant en compte que la dernière valeur retourner dans ta variable le résultat de ta première boucle..
Ensuite, la fonction DATEDIF Renvoie une Variant (Long) qui spécifie le nombre d’intervalles de temps entre deux dates données.... sauf que toi tu as déclaré ta variable résultats en tant que string... d'ou, je suppose, ton message d'erreur...
Je vois plusieurs erreurs dans ton code...
Déjà tu boucles sur les lignes 2 à 9 sur une première feuille pour trouver la différence sur chaque ligne mais tu n'utilise pas ta variable....
Ta seconde boucle le prenant en compte que la dernière valeur retourner dans ta variable le résultat de ta première boucle..
Ensuite, la fonction DATEDIF Renvoie une Variant (Long) qui spécifie le nombre d’intervalles de temps entre deux dates données.... sauf que toi tu as déclaré ta variable résultats en tant que string... d'ou, je suppose, ton message d'erreur...
theo1222
Merci de votre réponse, mais pouvez m'expliquer plus en détail pourquoi deux boucles ne fonctionnent pas alors que c'est une boucle par feuille différente ?
Pour moi c'est logique de faire une boucle pour une feuille et d'en faire une autre pour une autre feuille ?
Je demande pour ne plus faire l'erreur et mieux comprendre, merci vraiment de prendre le temps pour m'aider !
Pour moi c'est logique de faire une boucle pour une feuille et d'en faire une autre pour une autre feuille ?
Je demande pour ne plus faire l'erreur et mieux comprendre, merci vraiment de prendre le temps pour m'aider !
jordane45
- Messages postés
- 31072
- Date d'inscription
- mercredi 22 octobre 2003
- Statut
- Modérateur
- Dernière intervention
- 17 janvier 2021
Imagine que tu as deux boites...
Dans la première tu as 10 pièces.
Tu dois prendre une première pièce, la lancer (et la ratrapper dans ta main ) puis regarder si elle fait pile ou face ...
puis, une fois que tu as regardé de quelle côté elle est tombée.. la poser dans la boite n¨2.
Si on reprend ta logique (le code que tu avais écrit...) ...
tu prends bien les pièces... les lances... regarde leur valeur.... mais au lieu de les poser dans la boite N°2 tu la jette par terre.....jusqu'à la dernière ....
Cette dernière, tu la pose dans la seconde boite .... puis... tu la poses à nouveau dans cette seconde boite... puis encore...
Bref.. à la fin tu n'auras posé (10 fois) que la dernière pièce... toutes les autres étant par terre.....
Je ne vois pas trop comment te l'expliquer autrement.....
Je pense que le plus simple serait que tu exécutes ton code en mode pas à pas et que tu regarde ce qui se passe....
Puis tu fais la même chose avec le code que je t'ai donné .... et là... tu devrais avoir un déclic !
Dans la première tu as 10 pièces.
Tu dois prendre une première pièce, la lancer (et la ratrapper dans ta main ) puis regarder si elle fait pile ou face ...
puis, une fois que tu as regardé de quelle côté elle est tombée.. la poser dans la boite n¨2.
Si on reprend ta logique (le code que tu avais écrit...) ...
tu prends bien les pièces... les lances... regarde leur valeur.... mais au lieu de les poser dans la boite N°2 tu la jette par terre.....jusqu'à la dernière ....
Cette dernière, tu la pose dans la seconde boite .... puis... tu la poses à nouveau dans cette seconde boite... puis encore...
Bref.. à la fin tu n'auras posé (10 fois) que la dernière pièce... toutes les autres étant par terre.....
Je ne vois pas trop comment te l'expliquer autrement.....
Je pense que le plus simple serait que tu exécutes ton code en mode pas à pas et que tu regarde ce qui se passe....
Puis tu fais la même chose avec le code que je t'ai donné .... et là... tu devrais avoir un déclic !
theo1222
- Messages postés
- 11
- Date d'inscription
- dimanche 29 novembre 2020
- Statut
- Membre
- Dernière intervention
- 14 décembre 2020
- Messages postés
- 31072
- Date d'inscription
- mercredi 22 octobre 2003
- Statut
- Modérateur
- Dernière intervention
- 17 janvier 2021
AAaaahhh cette explication beaucoup simpliste est vraiment facile à comprendre, je vois mieux pourquoi c'était pas bon, merci beaucoup !!
vraiment !!
Vous avez-pris tout votre temps pour m'expliquer !!
vraiment !!
Vous avez-pris tout votre temps pour m'expliquer !!
jordane45
- Messages postés
- 31072
- Date d'inscription
- mercredi 22 octobre 2003
- Statut
- Modérateur
- Dernière intervention
- 17 janvier 2021
- Messages postés
- 11
- Date d'inscription
- dimanche 29 novembre 2020
- Statut
- Membre
- Dernière intervention
- 14 décembre 2020
N'oublie pas de marquer la discussion en RESOLUE
Je ne suis que débutant en VBA donc que vous dites que je n'utilise pas la variable pour la boucle que voulez-vous dire ?
Déjà tu fais
Donc, tu boucles de 2 à 9 ... et à chaque tour, tu modifies la valeur de ta variable résultat....
Une fois ta boucle terminée ( donc arrivée à 9 ) ta variable resultat a une valeur qui correspond à cette ligne...
Puis tu refais une seconde boucle
Sauf que.. dans cette seconde boucle.. ta variable résultat n'a qu'une seule valeur.... celle correspondant à la fin de ta première boucle....
En gros, il faut que tu modifies ton code pour ne faire qu'une seule boucle !
un truc du genre