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 :

Se positionner sur la première cellule vide d'une colonne [XL-2016]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Vba14
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2019
    Messages
    440
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2019
    Messages : 440
    Par défaut Se positionner sur la première cellule vide d'une colonne
    Bonjour à tous,

    Dans ce code, après ouverture de la feuille, je suis censé être positionné sur la première cellule vide de la colonne A, hors ça ne fonctionne pas.
    Pourriez-vous m'indiquer pourquoi s'il vous plait ?
    Je vous en remercie par avance

    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
    24
     
    Private Sub Bt1_Click()
    Dim DLig As Long
    'Si je clique sur le bouton "Ville"
    'La feuille "Arch_Ville" s'affiche et s'ouvre
    'Le curseur est placé sur la cellule vide après la dernière ligne saisie en colonne A
    Application.ScreenUpdating = False
     
        Sheets("Arch_Ville").Visible = True
        Sheets("Arch_Ville").Activate
     
        With ActiveSheet
        DLig = Range("A1").End(xlDown).Row + 1
        End With
     
    'La feuille "Vide" se ferme
    'Le formulaire de choix se ferme
        Sheets("Vide").Visible = False
     
        Unload Me
     
    Application.ScreenUpdating = True
     
    End Sub

  2. #2
    Membre chevronné
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Mars 2021
    Messages
    334
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2021
    Messages : 334
    Par défaut
    Salut, quand tu dis positionné ? ca vaut dire que la cellule doit etre sélectionnée ? car dans ce code tu calcule la dernière cellule occupée de la colonne A mais tu ne la sectionne pas. Tu stocke la derniere ligne dans DLig.

    Il faudrait rajouter :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets("Arch_Ville").range("A" & dLig).select

  3. #3
    Membre éclairé Avatar de Vba14
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2019
    Messages
    440
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2019
    Messages : 440
    Par défaut
    Bonjour Christian,
    J'ai bien ajouté la ligne qui manquait. La cellule est bien sélectionnée, mais pas affichée, c'est le 3392ème ligne.
    Je suis toujours obligé d'utiliser le scroll pour accéder à ma ligne.
    Voici le code modifié :
    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
    24
    25
     
    Private Sub Bt1_Click()
    Dim DLig As Long
    'Si je clique sur le bouton "Ville"
    'La feuille "Arch_Ville" s'affiche et s'ouvre
    'Le curseur est placé sur la cellule vide après la dernière ligne saisie en colonne A
    Application.ScreenUpdating = False
     
        Sheets("Arch_Ville").Visible = True
        Sheets("Arch_Ville").Activate
     
        With ActiveSheet
        DLig = Range("A1").End(xlDown).Row + 1
        End With
    Sheets("Arch_Ville").Range("A" & DLig).Select
     
    'La feuille "Vide" se ferme
    'Le formulaire de choix se ferme
        Sheets("Vide").Visible = False
     
        Unload Me
     
    Application.ScreenUpdating = True
     
    End Sub

  4. #4
    Membre éclairé Avatar de Vba14
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2019
    Messages
    440
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2019
    Messages : 440
    Par défaut
    En fait, ce n'est pas seulement se positionner sur la cellule mais également l'afficher.
    Je cherche une solution de mon côté

    Il faudrait que j'utilise le scrollArea pour manipuler l'ascenseur de manière automatique. Mais ça je ne sais pas faire...

  5. #5
    Membre expérimenté Avatar de lucasgaetan
    Homme Profil pro
    dessinateur BE
    Inscrit en
    Août 2011
    Messages
    175
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : dessinateur BE
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2011
    Messages : 175
    Par défaut
    RE bonjour,

    la ligne de code ".Select" est exactement ce que tu as besoin.

    le problème est plus dans l'organisation de ta procédure (voir commentaire en rouge):
    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
    24
    Private Sub Bt1_Click()
    Dim DLig As Long
    'Si je clique sur le bouton "Ville"
    'La feuille "Arch_Ville" s'affiche et s'ouvre
    'Le curseur est placé sur la cellule vide après la dernière ligne saisie en colonne A
    Application.ScreenUpdating = False
     
        Sheets("Arch_Ville").Visible = True
        Sheets("Arch_Ville").Activate
     
        With ActiveSheet 'Aucun intérêt si tu ne mets pas de "." devant Range à la ligne suivante
        DLig = Range("A1").End(xlDown).Row + 1
        End With
    Sheets("Arch_Ville").Range("A" & DLig).Select 'Je pense qu'il faut décaler cette ligne en fin de procédure après le "Unload"
     
    'La feuille "Vide" se ferme
    'Le formulaire de choix se ferme
        Sheets("Vide").Visible = False
     
        Unload Me
     
    Application.ScreenUpdating = True
     
    End Sub
    Bon courage.

  6. #6
    Membre éclairé Avatar de Vba14
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2019
    Messages
    440
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2019
    Messages : 440
    Par défaut
    Lucasgaetan,

    J'ai modifié le code, mais ça ne change rien, la dernière ligne ne remonte pas sous la ligne d'en-tête, là où j'ai figé les volets
    Je précise que le curseur va bien sur la première cellule vide (en A3392) mais pour voir cette cellule je dois jouer avec l'ascenseur, ce qui n'est pas pratique
    Merci toutefois pour ton aide

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

Discussions similaires

  1. Sélectionner la première cellule vide dans une plage sélectionnée
    Par NRVIPSC dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 17/06/2020, 08h24
  2. [XL-2016] [Débutant vba] Copier-Coller une cellule dans la première cellule vide d'une colonne nommé
    Par AlexandreB94 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 13/11/2019, 11h10
  3. [XL-2016] Première cellule vide d'une ligne
    Par Lubberla dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 27/07/2018, 19h58
  4. [XL-2010] Sélectionner la première cellule vide d'une ligne
    Par RMA1969 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 18/10/2013, 14h50
  5. Réponses: 7
    Dernier message: 11/09/2006, 11h33

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