IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

problème de sélection de colonne en VBA


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Inscrit en
    Janvier 2006
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 113
    Par défaut problème de sélection de colonne en VBA
    Bonjour,

    j'ai un petit souci avec du code que je n'ai pas créé personnelement. Tout marchait très bien mais depuis peu au lieu de sélectionner la colonne A il sélectionne également la colonne B. Je ne comprend pas pourquoi (le code n'a jamais été modifié) ! Voici l'extrait de code qui pose problème :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        Range("A1").Select
        Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
        Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
    Je ne sais pas si quelqu'un aurait une idée du problème ? Je pense que je pourrait résoudre le problème en sélectionnant toute la colonne A avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Columns("A":"A").select
    Mais je ne sais pas ce que cela pourrait engendrer...

    Merci du coup de pouce.

  2. #2
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    Pourquoi tous ces Select et Selection?
    Supprime les 2 premières lignes et commence la ligne de conversion comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Columns(1).TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  3. #3
    Membre confirmé
    Inscrit en
    Janvier 2006
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 113
    Par défaut
    Je ne sais pas... Je ne suis pas un pro, j'ai fait un peu de VBA à gauche à droite mais rien de sorcier... Et là vu que ce n'est pas moi qui l'ai créé, je ne sais pas vraiment quoi changer...

    Je vais essayer votre proposition. Merci

  4. #4
    Membre confirmé
    Inscrit en
    Janvier 2006
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 113
    Par défaut
    L'avantage (si c'en est un) avec le code existant c'est qu'il ne sélectionne uniquement les cellules non vide contrairement à
    Columns(1).select

  5. #5
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    Si tu tiens absolument à ne traiter que les cellules non vides:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range([A1],Cells(Cells.SpecialCells(XlLastCell).Row, 1)).TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
    Mais je doute d'un quelconque gain en vitesse d'exécution...
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  6. #6
    Membre confirmé
    Inscrit en
    Janvier 2006
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 113
    Par défaut
    Merci bien pour vos conseil. Mais concernant le code de base savez-vous pourquoi il sélectionne les cellules non-vide de A et B alors qu'auparavant il prennait uniquement la colonne A ?

    Merci encore

  7. #7
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    A cause de:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SpecialCells(xlLastCell)
    Probablement qu'il y a une cellule modifiée dans ta colonne B.

    Essaye de supprimer (pas effacer) ta colonne B, puis sauve le classeur et essaye ton ancien code...

    Ceci dit, il vaut toujours mieux éviter les Select et autres Activate.
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  8. #8
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Tu n'aurais pas fusionné des cellules entre tes versions 1 et 2 de ton fichier ?
    A tout hasard

  9. #9
    Membre confirmé
    Inscrit en
    Janvier 2006
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 113
    Par défaut
    Alors pour répondre à la dernière remarque non et pour l'avant dernière, j'ai essayé et ça marche une fois mais après ça recommence...

  10. #10
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    Normal, si tu modifies une ou des cellules de la colonne B.
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  11. #11
    Membre confirmé
    Inscrit en
    Janvier 2006
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 113
    Par défaut
    Ce que j'ai peut-être oublié de dire c'est que la conversion ce fait à partir d'un fichier .csv... Je ne sais pas si ça à une influence ?

    Par conséquent à chaque fois que je lance ma macro, elle ouvre ce fichier .csv pour la convertir mais dans ce document il n'y a rien dans la colonne B (il a beaucoup de données mais uniquement dans la colonne A).

    Et quand je remplace par le code que l'on ma donné plus haut. Il y a un message qui me demande si je veux remplacer le contenu des cellules de destination...

  12. #12
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Citation Envoyé par tarmin
    Ce que j'ai peut-être oublié de dire c'est que la conversion ce fait à partir d'un fichier .csv... Je ne sais pas si ça à une influence ?
    C'est un gag ou tu nous testes ?
    Tu ne pouvais pas le dire plus tôt ? Ouvre ton csv comme un fichier texte (word, notepad, wordpad) et dis-nous quel est le séparateur de données, point-vigule ou virgule.
    A+

  13. #13
    Membre confirmé
    Inscrit en
    Janvier 2006
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 113
    Par défaut
    désolé...

    il s'agit de point-virgule

  14. #14
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Si c'est avec un pt virgule, alors tu renommes ton fichier.csv fichier.txt et tu l'ouvres comme un fichier texte avec séparateur point-virgule
    Utilise Name pour le renommer.
    Si tu veux la syntaxe malgré F1... tu dis

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Toutes versions] [VBA] Convertir une chaine en Range pour une sélection de colonnes
    Par Aurelangelo dans le forum Macros et VBA Excel
    Réponses: 34
    Dernier message: 14/04/2009, 15h37
  2. [VBA Excel] problème de sélection de feuilles
    Par fab011 dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 02/06/2007, 15h09
  3. [VBA-E] Problème pour masquer des colonnes.
    Par martiweb dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 25/04/2007, 02h53
  4. Réponses: 7
    Dernier message: 11/08/2006, 14h26
  5. [VBA] Problème de sélection de feuille
    Par ptitsoleil87 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 28/12/2005, 10h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo