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 :

Etendre une sélection jusqu'à cellule non vide [XL-2016]


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Décembre 2017
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2017
    Messages : 16
    Par défaut Etendre une sélection jusqu'à cellule non vide
    Bonjour à tous et bonne année,

    Je suis sur un os depuis un petit moment alors je me tourne vers vous.
    J'automatise des récupérations de données sur 300 "*.xls". J'ai des individus en ligne avec différentes variables d'informations sur ces individus en colonne. Mes deux première colonnes sont les noms et prénoms et malheureusement c'est les seules informations qui peuvent être mal renseignées par ex seulement le prénom en colonne B. Donc j'ai un soucis avec ce code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Range("A12:H12").Select
        Range(Selection, Selection.End(xlDown)).Select
        Selection.Cut
        Sheets("COMPIL").Select
        Range("B1").Select
        ActiveSheet.Paste
    (Je veux récupérer les infos correspondantes à chaque individus sur C:H avec leur nom et prénom en A:B)

    Mon problème est que le Selection.End(xlDown) se base seulement sur la colonne A et cela est vraiment embêtant puisque le nombre d'individus varie selon les fichiers et dans certains seul les nom de famille des 2 premiers individus est renseigné (ex: celui des parents mais pas des enfants) donc il me manque les enfants dans le cas de mon ex. Dans certains cas, il n'y a pas de nom de famille pour un autre exemple.

    J'aimerai savoir si il est possible et paramétrer ce Selection.End sur la colonne D qui elle est renseignée pour tous les membres de la famille sur tous les fichiers.

    Merci pour votre aide (j'anticipe mais c'est toujours un plaisir de vous demander de l'aide) !

  2. #2
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    Si ta feuille est structurée comme une table (pas de colonnes utilisées pour autre chose que tes individus), utilises la propriété UsedRange de l'objet Worksheet.
    Elle renvoie la plage utile de la feuille ... ainsi usedrange.rows.count te renvoie le nombre de lignes utilisées dans la feuille

    Ou encore la propriété CurrentRegion de l'objet Range, qui te donnera la plage continue utilisée sur la feuille. Tu l'appliques sur D2 et tu obtiendras l'ensemble de tes données, auquel il conviendra de retirer la ligne de titres

  3. #3
    Membre averti
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Décembre 2017
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2017
    Messages : 16
    Par défaut Structure des données
    Nom : Impr écran.jpg
Affichages : 899
Taille : 105,2 Ko

    Malheureusement il y a cette maudit colonne C qui est renseignée jusqu'à un point donné. Pour comprendre, c'est un questionnaire sous excel ou l'on remplie les informations en fonctions des individus présents (qui peut donc aller de individu A à individu R).

    Une solution que je vois c'est de mettre en colonne A la colonne D bien renseignée mais c'est un peu du travail de cochon...

  4. #4
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Alors on peut "Ranger" des Range

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range(Range("A12"), Range("H" & Range("D13").End(xlDown).Row))
    ici, on embarque ta ligne 12 qui est vide, si tu ne la veux pas, tu utilises A13 au lieu de A12

    c'est pas très joli mais c'est le résultat

  5. #5
    Membre averti
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Décembre 2017
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2017
    Messages : 16
    Par défaut
    Il me met erreur de compilation, attendu: = ?

    EDIT:

    PARDON j'ai rajouté .Select (évidemment...) et ça tourne comme une horloge !!!!! Merci bcp c'est propre

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 15/10/2014, 15h32
  2. Réponses: 17
    Dernier message: 27/02/2014, 21h29
  3. [XL-2003] Descendre d'une ligne si cellule non vide
    Par JBusnel dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 01/08/2011, 09h04
  4. [XL-2007] copie d'une selection de cellules non vides
    Par gabi75 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 02/06/2010, 15h49
  5. [VBA-E] Appliquer une formule si cellule non vide.
    Par zeralium dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 13/03/2007, 19h58

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