Faire un tri dans un tableau avec un nombre de colonnes et lignes aléa - VB/VBA/VBS - Programmation
Marsh Posté le 05-11-2013 à 15:29:13
Bonjour.
michele_ a écrit : mais il plante |
Super précis, merci !
Pour toute réponse, tout dépend du contenu (du n°) de la ligne déclenchant l'erreur
et du message lui-même et de son aide, tout est pourtant expliqué dedans …
Marsh Posté le 05-11-2013 à 16:45:24
dans le code c est sur la ligne 7 qu'il me débug en mettant :
Erreur d'exécution '1004':
La méthode 'Range' de l'objet '_Global' a échoué
Clairement, je pense que c est ma dimension "DernCol" qui fait tout planter
si quelqu'un a la solution merci, sinon, je vais rester sur le bon vieux tableau figé en mettant une colonne et une ligne de fin très très très lointaine ....
ps: Sinon, pour info ... quand je fais l aide, il me met strictement rien
alors que d'habitude, il y a une aide ... mais là rien
Marsh Posté le 05-11-2013 à 17:29:54
Place un point d'arrêt sur la ligne n°7 (ou écrire Stop en ligne n°6) puis lance la procédure
puis en positionnant le curseur sur DernLigneAS apparaît sa valeur (ou dans la fenêtre des Variables locales) …
Sinon il ne manquerait pas un A (ou autre lettre de colonne) après A4: en ligne n°7 par hasard ?
J'ai aussi repéré une contradiction dans le code, la feuille est spécifiée un coup elle ne l'est pas;
tout dépend si la procédure peut être lancée depuis une autre feuille ou pas …
Marsh Posté le 05-11-2013 à 18:09:46
Marc L a écrit : |
Alors, les valeurs sont les suivantes :
DernCol = 87
DernLigneAS = 19
Marc L a écrit : |
En fait, je crois que c'est bien ça mon problème
C'est "DernCol" qui me donne le numéro de la dernière colonne et non la lettre de la dernière colonne.
Comment peut on faire pour transformer le numéro de colonne en lettre ?
Marc L a écrit : |
C'est seulement la dernière partie de mon code. Et je pointe déjà avant sur la feuille en question (mais j'ai oublié de le rajouter pour vous donner l'exemple)
Mais je t'avouerais que les lignes 8 à 25 du code viennent de l'enregistreur de macros.
J'ai juste modifié en mettant mes dimensions "DernLigneAS" et "DernCol"
Marsh Posté le 05-11-2013 à 19:45:39
Ligne n°7 : Range("A4", Cells(DernLigneAS, DernCol)).Select
Mais franchement je me demande si cette ligne sert réellement à quelque chose, à part ralentir la procédure (Select) !
Marsh Posté le 08-11-2013 à 11:56:33
Marc L a écrit : |
Merci
Je vais essayer ...
Par contre, savoir si cette ligne ralenti la procédure ou non ... je sais vraiment pas puisque je suis partie d'un enregistrement de macro
Marsh Posté le 08-11-2013 à 14:30:21
Pour moi elle ne sert strictement à rien ‼
L'Enregistreur de macros enregistre toute manipulation même les sélections inutiles ! …
On ne peut le lui reprocher car comment pourrait-il savoir à l'avance ce qui doit être fait ?!
Marsh Posté le 05-11-2013 à 11:42:18
Bonjour,
Je cherche à mettre dans ma macro un tri automatique sur mon tableau.
Le hic est que mon tableau a un nombre de colonnes et de lignes aléatoire.
j'ai donc fait ce code :
mais il plante
Savez vous ce qui cloche ?