Méthode Select de la classe Range
Résolu
Nashimok
Messages postés
19
Date d'inscription
Statut
Membre
Dernière intervention
-
Nashimok Messages postés 19 Date d'inscription Statut Membre Dernière intervention -
Nashimok Messages postés 19 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
j'ai un code VBA qui me permet de créer un graphique à partir du nombre d'occurences de chaque entrée.
Certaines entrées ont une occurence nulle, et j'aimerais qu'elles n'apparaissent pas dans mon graphique.
Pour cela, avant la création du graphique, j'ai rajouté les lignes de code suivantes qui me permettent de masquer les lignes pour laquelle l'occurence est nulle.
Ce code marche très bien lorsqu'il est dans un module à part, sauf que lorsque je l'ajoute dans mon code général qui s'active par un clic sur un bouton, il ne marche plus....
J'ai une erreur d'éxécution 1004 qui apparaît et qui me dit que "la méthode Select de la classe Range a échoué" ... Le débogage m'indique donc que c'est cette ligne qui pose un problème :
J'ai essayé de remplacer
par
mais ça ne marche pas non plus ....
Une idée de pourquoi ça marche dans un module et pas dans le code global ?
Merci d'avance !
j'ai un code VBA qui me permet de créer un graphique à partir du nombre d'occurences de chaque entrée.
Certaines entrées ont une occurence nulle, et j'aimerais qu'elles n'apparaissent pas dans mon graphique.
Pour cela, avant la création du graphique, j'ai rajouté les lignes de code suivantes qui me permettent de masquer les lignes pour laquelle l'occurence est nulle.
''''''''''''''''''''''Masquage des occurrence nulles'''''''''''''''''''''''''''' ligne2 = 27 Do Until IsEmpty(Cells(ligne2, "B")) If Cells(ligne2, "B").Value = 0 Then Rows(ligne2).Select Selection.EntireRow.Hidden = True ligne2 = ligne2 + 1 Else ligne2 = ligne2 + 1 End If Loop
Ce code marche très bien lorsqu'il est dans un module à part, sauf que lorsque je l'ajoute dans mon code général qui s'active par un clic sur un bouton, il ne marche plus....
J'ai une erreur d'éxécution 1004 qui apparaît et qui me dit que "la méthode Select de la classe Range a échoué" ... Le débogage m'indique donc que c'est cette ligne qui pose un problème :
Rows(ligne2).Select
J'ai essayé de remplacer
Rows(ligne2).Select
par
Range(ligne2:ligne2).Select
mais ça ne marche pas non plus ....
Une idée de pourquoi ça marche dans un module et pas dans le code global ?
Merci d'avance !
A voir également:
- La méthode select de la classe range a échoué
- Input signal out of range ✓ - Forum Matériel & Système
- Ouvrez cette page. dans le code de la page, modifiez la couleur de fond de la classe .pix. un code de 4 chiffres doit apparaître dans la grille. lequel ? ✓ - Forum Programmation
- Please select boot device ✓ - Forum BIOS
- L'indice n'appartient pas à la sélection vba - Forum VB / VBA
- Out of range - Forum Ecran
7 réponses
bonjour,
sans voir le code ou la partie du code général puisque c'est lui qui empèche...
mais d'ores et déjà tu pourrais améliorer ton code
en VBA, on évite au maximum les "select" et quelque soit le if, tu incrémentes..
sans voir le code ou la partie du code général puisque c'est lui qui empèche...
mais d'ores et déjà tu pourrais améliorer ton code
en VBA, on évite au maximum les "select" et quelque soit le if, tu incrémentes..
If Cells(ligne2, "B") = 0 Then
Rows(ligne2).Hidden = True
End If
ligne2 = ligne2 + 1
En me baladant sur les forums, j'ai trouvé une solution qui marche, c'est d'appeler le module où mon code marche :
Par contre, le problème n'est pas résolu si je le laisse mon code global ... D'ailleurs, j'ai réessayé, et l'erreur s'est déplacée sur un autre .Select qui fonctionnait très bien auparavant .... et qui me permet simplement de déselectionner le graphique que je viens de créer ...
Il doit donc y avoir une erreur qui se répète dans mon code ... Existe-t-il un moyen d'envoyer tout le code dans un fichier, ou faut-il que je le copie entièrement dans un message ici ?
Tu peux déposer ton fichier sur cijoint.com et nous donner le lien
https://www.commentcamarche.net/faq/29493-utiliser-cjoint-pour-heberger-des-fichiers
http://www.cjoint.com/c/FIzh6ICnFHf
Il fonctionne dans un module, mais pas lorsque je l'insère sous le Sub CommandButton_Click() de ma feuille.
Merci encore pour votre aide !