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 de cellules automatique


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 684
    Par défaut Sélection de cellules automatique
    Bonjour,

    Ce que je souhaite faire est très simple, mais je planche !

    Avec un copier-coller, je récupère des données dans ma Feuil1
    Ce que je voudrais faire c'est d'activer la cellule a la dernière de
    récupération et a la dernière colonne (ça, jy arrive)
    par exemple cells(30,15)
    je voudrais sélectionner automatiquement de (30,15) a (2,1)
    ensuite copier la sélection dans la Feuil2 pas n'importe ou mais
    a la première ligne vide.

    Cela doit être plus facile a faire qu'a expliquer !

    Merci pour vos conseils

  2. #2
    Membre Expert Avatar de Krovax
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 888
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 888
    Par défaut
    Regarde ceci ca te permetra de trouver la dernière ligne et dernière colonne


    Pour copier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    feuil1.Range(cells(2,1),cells(derniereligneFeuil1,dernierecolonne)).copy feuil2.range("A" & derniereligneFeuil2+1)
    Ca evité de sélectionner et de passer par le presse papier, en gros c'est a mon sens plus propre et cela fait gagner du temps et des ligne de code

    Voila avec ca tu devrais pouvoir t'en sortir, reviens nous voir si tu as un soucis (mais avec un bout de code c'est plus claire comme explication)

    ps : j'ai répondu a une question du type, comment copier toutes les donnée d'un tableau en feuille1 a la suite d'un tableau en feuil 2?
    (je cri que c'est ce que tu as essayer de demander mais je précise des fois que je me serais planté )

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

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

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Bonjour,

    exemple :

    1ere ligne vide en partant du haut, sur la colonne "a"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    range("a2").end(xldown).row + 1
    1ere ligne vide en bas du tableau
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    range("a" & rows.count).end(xlup).row + 1
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: 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...)

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 684
    Par défaut
    Bonjour a vous deux,

    J'ai testé en premier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    range("a" & rows.count).end(xlup).row + 1
    mais j'ai une erreur a : .row + 1
    quand, je copie cette ligne de code,
    il m'efface le signe +
    et quand j'exécute, erreur et row est en bleu

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

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

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    à mon avis tu dois faire une mauvaise manip

    essaies ce code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    dim dl as integer
    dl = range("a" & rows.count).end(xlup).row + 1
    range("a" & dl).select
    ça te selectionnera la premiere cellule vide en bas du tableau
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: 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...)

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 684
    Par défaut
    Ok, c'est bon

    J'ai fait le reste
    Il ne reste plus qu'a copier les données dans feuille Base
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    'Sélectionne et met en mémoire la plage de cellules
    DerniereLigne = Range("A65535").End(xlUp).Row
    For I = 2 To DerniereLigne
        If Val(Cells(I, 1)) < 0 Then
           GoTo hhh
        End If
    Next I
     
    hhh:
    Range(Cells(2, 1), Cells(I - 1, 10)).Select
    Range(Cells(2, 1), Cells(I - 1, 10)).Copy
     
    'Sélectionne la Feuille Base
        Sheets("Base").Select
        Range("A1").Select
     
    'Recherche la première ligne vide et se positionne dessus
    dl = Range("a" & Rows.Count).End(xlUp).Row + 1
    Range("a" & dl).Select
     
    'Colle les données dans Base
    '???
    Et voir si mon code peut être ammélioré !

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

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

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Sans avoir vérifié tes boucles ni ton goto, j'ai un peu amélioré le code (plus de select inutile)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    With Sheets("feuil1") 'remplace par le nom de ta feuille
    DerniereLigne = .Range("A" & .Rows.Count).End(xlUp).Row
    For I = 2 To DerniereLigne
        If Val(.Cells(I, 1)) < 0 Then
           GoTo hhh
        End If
    Next I
     
    hhh:
    .Range(.Cells(2, 1), .Cells(I - 1, 10)).Copy
    End With
    'Sélectionne la Feuille Base
    With Sheets("Base")
     
    'Recherche la première ligne vide et se positionne dessus
    dl = .Range("a" & .Rows.Count).End(xlUp).Row + 1
    ActiveSheet.Paste Destination:=.Range("a" & dl)
    End With
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: 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...)

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

Discussions similaires

  1. [XL-2010] Macro sélection de cellules, copie dans mail avec envoi automatique
    Par Raylooker dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 07/03/2015, 19h05
  2. [XL-2010] Déplacement automatique de la sélection d’une cellule.
    Par langa68 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 02/03/2013, 19h17
  3. remplissage cellule automatique sur une donnée saisie !
    Par ptitlulu94 dans le forum Access
    Réponses: 1
    Dernier message: 15/03/2006, 15h06
  4. automation Excel: sélection de cellule
    Par jarod_bx dans le forum Access
    Réponses: 3
    Dernier message: 03/11/2005, 15h33
  5. [VBA]Sélection de cellules
    Par joseph1 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 13/10/2005, 18h08

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