|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Membre régulier
![]() Inscription : mai 2006 Messages : 84 ![]() |
Bonjour,
Je crée une macro qui demande à l'utilisateur d'ouvrir un document contenant des données à analyser. Une fois le fichier sélectionné et ouvert, je lance un UserForm permettant de sélectionner différentes options pour récupérer et analyser les données. Mon problème est que le fichier que je reçois ne possède pas un format unique, il peut être modifié au niveau de l'agencement des colonnes voir peut-être de leur position. Par conséquent, je demande à l'utilisateur de m'indiquer l'en-tête de la colonne contenant les données correspondantes. Pour se faire, mon UserForm est consituté en partie de 4 zones de liste, et les choix présents dans la liste doivent être les noms des colonnes présents dans cette base. J'ai programmé quelque chose permettant de déterminer la cellule sitée en haut à gauche de la base. J'ai donc connaissance de ma ligne d'en-têtes et je souhaiterais savoir jusqu'à quelle colonne il y a des informations. J'ai donc tapé la fonction Selection.End(xlToRight).Column. Problème je reçois une erreur : "Erreur d'exécution 438 : Propriété ou méthode non gérée par cet objet". Cette erreur vient de mon Selection.End puisque si je supprime cette ligne, le reste du code ne génère aucune erreur. J'ai pourtant utilisé plusieurs fois un Selection.End(xlDown).Row pour connaître mon nombre de lignes dans un tableau et je n'ai jamais eu de problèmes. Lorsque je vais dans l'aide VBA et que j'effectue une recherche avec xlDown ou xlToRight, je n'obtiens aucune réponse. ![]() Voici le code de mon UserForm. Code :
Code :
|
||||
|
|
00
|
|
|
#2 | ||
|
Expert Confirmé Sénior
![]() Inscription : juillet 2008 Messages : 5 848 ![]() |
est une valeur (par exemple 24)
Tu veux en faire quoi? exemple Code :
__________________
Cordialement. |
||
|
|
20
|
|
|
#3 | |
|
Membre régulier
![]() Inscription : mai 2006 Messages : 84 ![]() |
Citation:
Merci beaucoup !
|
|
|
|
00
|
|
|
#4 |
|
Expert Confirmé Sénior
![]() Inscription : juillet 2008 Messages : 5 848 ![]() |
Utilise plutôt
Code :
LastBaseColonne = .Cells(DebutBaseLigne, .Columns.Count).End(xlToLeft).Column En plus essaies d'utiliser Comme indiqué dans le code proposé
__________________
Cordialement. |
|
|
10
|
Copyright © 2000-2012 - www.developpez.com