La méthode 'Range' de l'objet '_Worksheet' a échoué
Résolu/Fermé
BUDGETS
Messages postés
1582
Date d'inscription
samedi 19 juillet 2014
Statut
Membre
Dernière intervention
14 février 2025
-
Modifié le 15 mai 2017 à 15:27
jordane45 Messages postés 38454 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 12 mars 2025 - 16 mai 2017 à 00:18
jordane45 Messages postés 38454 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 12 mars 2025 - 16 mai 2017 à 00:18
A voir également:
- La méthode range de l'objet worksheet a échoué
- Vente objet occasion entre particulier - Guide
- Out of range - Forum Ecran
- Telechargement du firmware a echoue - Forum Box et Streaming vidéo
- La méthode select de la classe range a échoué ✓ - Forum VB / VBA
- Problème écran "out of range" au démarrage - Forum Windows
2 réponses
jordane45
Messages postés
38454
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
12 mars 2025
4 741
Modifié le 15 mai 2017 à 16:09
Modifié le 15 mai 2017 à 16:09
Bonjour,
Non ... ce n'est pas de la "connerie" ... c'est comme ça qu'on débug un programme pour essayer de trouver les erreurs....
Heu.. oui.. la touche F8 n'est pas une touche magique... elle ne fait pas disparaitre les messages d'erreurs... elle permet de faire tourner ton code en "pas à pas" pour essayer de situer l'erreur et te laisser le temps de regarder la valeur de tes différentes variables.
Dans la documentation et les discussions que tu as eu avec Patrice... il t'a expliqué ce qu'était un "espion" et comment regarder la "valeur" des variables.
C'est cela qu'il faut faire pour essayer de comprendre le souci.
Après un premier essai.. ton code tombe en erreur ici
Ligne qui se situe dans le code :
... et ... oh quelle surprise .. en passant la souris sur les variables .. voila ce que j'obtiens pour "Colonne" :

Si je ne m'abuse ... "Mars 2017" .. n'est pas une COLONNE .....
Mais...mais.... en plus.... c'est pas vrai que... mais si !! ... c'est bien la même remarque que l'exemple donné par Patrice pour le débugage ...
ICI : https://forums.commentcamarche.net/forum/affich-34084967-type-de-variables-et-quels-objets?page=2#239
!!!!....
Heureusement pour toi... ça s'apprend..... mais fais vite ... ça devient urgent !
Cordialement,
Jordane
Comme je l'ai dit à Patrice, ce débogage c'est de la connerie car il n'apporte aucune aide, les erreurs sont incompréhensibles et pas suffisamment détaillées et, enfin, la ligne qui s'entoure de jaune n'est pas forcément là où se trouve l'erreur.
Non ... ce n'est pas de la "connerie" ... c'est comme ça qu'on débug un programme pour essayer de trouver les erreurs....
j'ai beau appuyer sur F8, le message réapparaît
Heu.. oui.. la touche F8 n'est pas une touche magique... elle ne fait pas disparaitre les messages d'erreurs... elle permet de faire tourner ton code en "pas à pas" pour essayer de situer l'erreur et te laisser le temps de regarder la valeur de tes différentes variables.
Si j'essaie de monter ou de descendre, rien de spécial ne se passe
Dans la documentation et les discussions que tu as eu avec Patrice... il t'a expliqué ce qu'était un "espion" et comment regarder la "valeur" des variables.
C'est cela qu'il faut faire pour essayer de comprendre le souci.
Après un premier essai.. ton code tombe en erreur ici
With .Range(Colonne & .Rows.Count).End(xlUp).Offset(1)
Ligne qui se situe dans le code :
Private Sub cmdAjouterCeProduitAuMenu_Click() 'Ajoute une nouvelle ligne de références Dim LngIndex As Long 'Index du combo box Dim strRéférencesMenus As String 'Références 'Mémoriser la référence strRéférencesMenus = Me.cboRéférences.Text 'Ajouter la ligne LngIndex = Me.cboRéférences.ListIndex With shHistoriqueDesMenus With .Range(Colonne & .Rows.Count).End(xlUp).Offset(1) .Offset(0, 0).Value = Me.cboDateDuMenu .Offset(0, 1).Value = Me.cboRéférences .Offset(0, 6).Value = Me.textQuantitéProduit End With End With 'Réinitialiser les combo boxes du produit Call InitialiseLesCboDuProduit 'Sélectionner la référence Me.cboRéférences.Text = strRéférencesMenus End Sub
... et ... oh quelle surprise .. en passant la souris sur les variables .. voila ce que j'obtiens pour "Colonne" :

Si je ne m'abuse ... "Mars 2017" .. n'est pas une COLONNE .....
Mais...mais.... en plus.... c'est pas vrai que... mais si !! ... c'est bien la même remarque que l'exemple donné par Patrice pour le débugage ...
ICI : https://forums.commentcamarche.net/forum/affich-34084967-type-de-variables-et-quels-objets?page=2#239
!!!!....
Je le répète toujours : je suis un néophyte en programmation et je n'ai pas l'esprit de déduction développé.
Heureusement pour toi... ça s'apprend..... mais fais vite ... ça devient urgent !
Cordialement,
Jordane
BUDGETS
Messages postés
1582
Date d'inscription
samedi 19 juillet 2014
Statut
Membre
Dernière intervention
14 février 2025
15 mai 2017 à 16:19
15 mai 2017 à 16:19
Bonjour Jordane
Pourquoi il apparait "Mars 2017" qui est la période concernée ? Qu'est qui devrait apparaître pour que colonne soit acceptée ? Pour moi, c'est un grand mystère
Pourquoi il apparait "Mars 2017" qui est la période concernée ? Qu'est qui devrait apparaître pour que colonne soit acceptée ? Pour moi, c'est un grand mystère
jordane45
Messages postés
38454
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
12 mars 2025
4 741
15 mai 2017 à 16:29
15 mai 2017 à 16:29
Mais c'est pas vrai ..!!!!
As tu RELU le message (le lien) de Patrice que je t'ai redonné ???
As tu exécuté ton code en mode PAS A PAS ????
Si oui.. tu aurais vu que la variable COLONNE est modifiée dans la sub
Hors... Me.cboPériodeConcernée.Value contient la DATE concernée .. et non le NUMERO de colonne correspondant ....
Une colonne c'est une COLONNE EXCEL. Donc soit un nombre .. soit une LETTRE.
Pour rappel .. dans excel .. La colonne A = 1
Perso.. je m'arrête là., Je ne ferai pas comme Patrice à tenter, en vain, de traiter tes questions au bout de 250 messages ....
Ici nous AIDONS ... nous ne faisons pas le boulot à votre place. Nous ne sommes pas là non plus pour servir de prof ....
Je pense que tu dois absolument apprendre (et comprendre) les bases de la programmation et du debogage avant de continuer ton projet (qui ressemble à une usine à gaz ....)
Projet qui serait sûrement plus simple à réaliser avec un SGBD (comme access par exemple ) au lieu d'un classeur Excel.
Bonne continuation.
As tu RELU le message (le lien) de Patrice que je t'ai redonné ???
As tu exécuté ton code en mode PAS A PAS ????
Si oui.. tu aurais vu que la variable COLONNE est modifiée dans la sub
Private Sub cboPériodeConcernée_Change() 'Choix de la période oncernée If NoEvents Then Exit Sub Colonne = Me.cboPériodeConcernée.Value Call Initialise_cboPériodeConcernée End Sub
Hors... Me.cboPériodeConcernée.Value contient la DATE concernée .. et non le NUMERO de colonne correspondant ....
Une colonne c'est une COLONNE EXCEL. Donc soit un nombre .. soit une LETTRE.
Pour rappel .. dans excel .. La colonne A = 1
Perso.. je m'arrête là., Je ne ferai pas comme Patrice à tenter, en vain, de traiter tes questions au bout de 250 messages ....
Ici nous AIDONS ... nous ne faisons pas le boulot à votre place. Nous ne sommes pas là non plus pour servir de prof ....
Je pense que tu dois absolument apprendre (et comprendre) les bases de la programmation et du debogage avant de continuer ton projet (qui ressemble à une usine à gaz ....)
Projet qui serait sûrement plus simple à réaliser avec un SGBD (comme access par exemple ) au lieu d'un classeur Excel.
Bonne continuation.
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 312
>
jordane45
Messages postés
38454
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
12 mars 2025
15 mai 2017 à 16:50
15 mai 2017 à 16:50
Cinq dollars que ca va encore aller au post 300 ... tenu ?
BUDGETS
Messages postés
1582
Date d'inscription
samedi 19 juillet 2014
Statut
Membre
Dernière intervention
14 février 2025
>
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
15 mai 2017 à 22:05
15 mai 2017 à 22:05
Si on me répondait correctement à mes questions au lieu de tourner toujours autour du pot, je ne serai pas obligé d'intervenir si souvent !
jordane45
Messages postés
38454
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
12 mars 2025
4 741
>
BUDGETS
Messages postés
1582
Date d'inscription
samedi 19 juillet 2014
Statut
Membre
Dernière intervention
14 février 2025
15 mai 2017 à 22:43
15 mai 2017 à 22:43
Si tu lisais entièrement et correctement les reponses qui te sont données et essayais un minimum de les comprendre tu ne viendrais pas poser 50 fois la même question....
jordane45
Messages postés
38454
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
12 mars 2025
4 741
>
BUDGETS
Messages postés
1582
Date d'inscription
samedi 19 juillet 2014
Statut
Membre
Dernière intervention
14 février 2025
Modifié le 16 mai 2017 à 01:36
Modifié le 16 mai 2017 à 01:36
Si tu pouvais également éviter de poser la même question à plusieurs endroits en même temps sur le forum ça serait bien.... (on te l'a déjà dit en plus.... ).
Bref...
pari gagné .. on s'arrêtera au septième message ... (vu que je ferme cette discussion pour cause de doublon ! )
NB : Si on "tourne autour du pot" comme tu le dis .. c'est que non seulement nous ne sommes pas là pour faire le boulot à ta place ... mais que si, au passage, tu parviens à apprendre un minimum... tu seras en mesure de te corriger toi même.... c'est une bonne idée non ?
Bonne soirée.
Bref...
pari gagné .. on s'arrêtera au septième message ... (vu que je ferme cette discussion pour cause de doublon ! )
NB : Si on "tourne autour du pot" comme tu le dis .. c'est que non seulement nous ne sommes pas là pour faire le boulot à ta place ... mais que si, au passage, tu parviens à apprendre un minimum... tu seras en mesure de te corriger toi même.... c'est une bonne idée non ?
Bonne soirée.