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 :

Sélection d'une cellule à localisation variable pour effacer le contenu [Débutant(e)] [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Analyste d'affaires
    Inscrit en
    Mai 2016
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Canada

    Informations professionnelles :
    Activité : Analyste d'affaires
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2016
    Messages : 34
    Points : 33
    Points
    33
    Par défaut Sélection d'une cellule à localisation variable pour effacer le contenu
    Bonjour à tous,

    Je désire être en mesure de sélectionner une suite de données qui se rajoute à la fin d'une matrice de donnée.
    Pour se faire, je suis capable d'atteindre la cellule que je désire en effectuant ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        Range("C11").Select
        Selection.End(xlDown).Offset(1).Select
    Nommons ceci Code1.

    J'aimerais ensuite pouvoir sélectionner tout se qui se trouve sur la droite jusqu'à la colonne CJ.
    Je voudrais être en mesure de faire quelque chose comme ce qui suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        Range("Code1:CJ1000").Select
        Selection.ClearContents
    Je ne sais pas comment procéder pour effectuer ceci donc les suggestions sont la bienvenues.

    Merci d'avance!
    Nomorerulz
    Nomorerulz

  2. #2
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Selection.End(xlDown).Offset(1).Select
    xlDown fait partie d'une énumération de quatre constantes.

    Cherche xlDown dans l'aide de VBA Excel, puis clique sur Énumération XlDirection

    Il y a la bonne, et tu adaptes.
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Analyste d'affaires
    Inscrit en
    Mai 2016
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Canada

    Informations professionnelles :
    Activité : Analyste d'affaires
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2016
    Messages : 34
    Points : 33
    Points
    33
    Par défaut
    Merci pour ta réponse.

    Malheureusement, il semble que mon aide excel ne soit pas fonctionnel.
    Peut importe ce que j'écris il me dit qu'il ne trouve rien pour la recherche effectuée.

    Un conseil?

    J'ai trouvé
    Je ne cherchais pas dans le bon aide.

    Je vois que les données xldown et autres ont des valeurs.
    Je ne suis pas vraiment certain de ce que je dois faire avec ces données.

    Merci encore pour ton aide!
    Nomorerulz

  4. #4
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Si tu remplaces xlDown par quelque chose avec right ou left, ou que tu ajoutes une ligne avec quelque chose qui a right ou left au lieu de down, cela donne quoi ?
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Analyste d'affaires
    Inscrit en
    Mai 2016
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Canada

    Informations professionnelles :
    Activité : Analyste d'affaires
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2016
    Messages : 34
    Points : 33
    Points
    33
    Par défaut
    Ça accède à la prochaine colonne vide.
    J'utilise le down, car la sélection vers le bas se fait bien et est complète.
    Par contre, lorsque j'utilise right, la sélection s'arrête à la première colonne vide et si j'enligne plusieurs right, le système n'en comptabilise qu'un seul.
    C'est pour cela que je pensais trouver un moyen de mixer le down avec une colonne en particulier pour m'assurer de tout sélectionner, mais je ne sais pas comment le formuler.

    Quelqu'un a une idée ?
    Nomorerulz

  6. #6
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim Ligne As Long
    Ligne = Range("C11").End(xlDown).Row + 1
    Range("C" & Ligne & ":CJ" & Ligne).Select
    Je suis à peu près sûr que le Select final est une mauvaise idée mais ça correspond à ce que tu as demandé et ne connaissant pas le reste du code, je ne peut pas proposer mieux.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Analyste d'affaires
    Inscrit en
    Mai 2016
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Canada

    Informations professionnelles :
    Activité : Analyste d'affaires
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2016
    Messages : 34
    Points : 33
    Points
    33
    Par défaut
    Bonjour Menhir,

    Merci pour ta réponse, ça fonctionne partiellement!
    Je suis maintenant capable d'effacer la ligne qui se situe sous mon tableau.
    Je dois seulement étendre ceci à toutes les lignes sous le tableau.
    Comment est-ce que je devrais écrire ça pour intégrer un xldown à la suite et conserver la sélection?

    Merci encore,
    Nomorerulz
    Nomorerulz

  8. #8
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par Nomorerulz Voir le message
    Merci pour ta réponse, ça fonctionne partiellement!
    Si tu posais clairement ta question, peut-être serait-il possible d'y répondre "totalement".

    Je dois seulement étendre ceci à toutes les lignes sous le tableau.
    "Toutes" ça fait beaucoup. Tu pourrais être plus précis ?
    Y a-t-il un élément qui identifie la dernière ligne à supprimer ?
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  9. #9
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    Bonjour,
    je ne sais pas si ça correspond à ta demande, (très peu explicite), à adapter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub efface()
    Dim Pcel As Range, Dcel As Range, Fin As Long
    Set Pcel = Range("C11").End(xlDown)(2, 1) 'tu remplaces "Range("C11")" par "Selection" si tu veux
    Set Dcel = Cells(Pcel.Row, Columns.Count).End(xlToLeft)
    Fin = ActiveSheet.UsedRange.Rows.Count
    Range(Pcel, Dcel(Fin, 1)).ClearContents
    End Sub
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  10. #10
    Nouveau membre du Club
    Homme Profil pro
    Analyste d'affaires
    Inscrit en
    Mai 2016
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Canada

    Informations professionnelles :
    Activité : Analyste d'affaires
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2016
    Messages : 34
    Points : 33
    Points
    33
    Par défaut
    Citation Envoyé par Menhir Voir le message
    Si tu posais clairement ta question, peut-être serait-il possible d'y répondre "totalement".
    Je ne peux pas vraiment ajouter de détails puisque tout ce dont j'ai besoin est inscrit.
    Le point d'exclamation à la fin de ma phrase n'indiquait pas que j'étais mécontent, mais tout le contraire.
    Je suis très heureux d'avoir une partie de la réponse aussi rapidement.

    "Toutes" ça fait beaucoup. Tu pourrais être plus précis ?
    Y a-t-il un élément qui identifie la dernière ligne à supprimer ?
    Il n'y a malheureusement rien qui détermine la dernière donnée, celle-ci est variable.
    Disons que 500 cellules sous celle déterminée sera amplement.

    Citation Envoyé par casefayere Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub efface()
    Dim Pcel As Range, Dcel As Range, Fin As Long
    Set Pcel = Range("C11").End(xlDown)(2, 1) 'tu remplaces "Range("C11")" par "Selection" si tu veux
    Set Dcel = Cells(Pcel.Row, Columns.Count).End(xlToLeft)
    Fin = ActiveSheet.UsedRange.Rows.Count
    Range(Pcel, Dcel(Fin, 1)).ClearContents
    End Sub
    Merci beaucoup pour ta suggestion.
    Je n'ai pas accès au fichier avant demain, je te redonne des nouvelles!

    Merci à vous deux pour votre aide, je sais que c'est une aide volontaire et j'en suis très touché.
    Nomorerulz
    Nomorerulz

  11. #11
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par Nomorerulz Voir le message
    Je ne peux pas vraiment ajouter de détails puisque tout ce dont j'ai besoin est inscrit.
    C'est un avis que je ne partage pas.
    Si tu ne veux pas faire d'effort, je crois que je ne vais pas en faire non plus.
    Bonne chance

    Il n'y a malheureusement rien qui détermine la dernière donnée, celle-ci est variable.
    Le fait qu'il n'y ait plus de données inscrites, ça ne ressemble pas à un critère ?
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  12. #12
    Nouveau membre du Club
    Homme Profil pro
    Analyste d'affaires
    Inscrit en
    Mai 2016
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Canada

    Informations professionnelles :
    Activité : Analyste d'affaires
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2016
    Messages : 34
    Points : 33
    Points
    33
    Par défaut
    Citation Envoyé par casefayere Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub efface()
    Dim Pcel As Range, Dcel As Range, Fin As Long
    Set Pcel = Range("C11").End(xlDown)(2, 1) 'tu remplaces "Range("C11")" par "Selection" si tu veux
    Set Dcel = Cells(Pcel.Row, Columns.Count).End(xlToLeft)
    Fin = ActiveSheet.UsedRange.Rows.Count
    Range(Pcel, Dcel(Fin, 1)).ClearContents
    End Sub
    Merci Beaucoup casefayere!

    C'est exactement ce dont j'avais besoin et tout fonctionne parfaitement.

    Merci encore
    Nomorerulz
    Nomorerulz

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

Discussions similaires

  1. Syntaxe pour bloquer une cellule avec variable
    Par Daniela_ dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 24/09/2013, 18h04
  2. [XL-2010] Sélection d'une cellule pour renvoi à un onglet
    Par kbenmya dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/04/2013, 13h08
  3. [Débutant] Sélection d'une cellule d'un DataGridView pour modification
    Par ShaeGal dans le forum VB.NET
    Réponses: 4
    Dernier message: 12/04/2012, 09h47
  4. Réponses: 2
    Dernier message: 13/02/2007, 18h40
  5. Slection d'une cellule dans une Flexgrid
    Par ecarbill dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 29/08/2006, 14h44

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