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 :

Copier valeur jusqu'à la prochaine cellule non vide en changeant de colonne


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Copier valeur jusqu'à la prochaine cellule non vide en changeant de colonne
    Bonjour à tous,

    Débutant moi aussi j'ai besoin d'effecuer la même action qu'ici avec toutefois une petite subtilité : je voudrais pouvoir choisir la colonne sur laquelle appliquer la macro.

    Je suis parti de la proposition de fring, qui fonctionne effectivement parfaitement sur la colonne A mais uniquement sur la colonne A. Je pensais ensuite inclure une variable en récupérant le contenu d'une cellule (A1 par exemple) dans laquelle j'aurais précisé la colonne sur laquelle appliquer la macro (B par exemple).

    Malheureusement mes divers essais se sont révélés infructueux, mes connaissances en syntaxe VBA étant ultra limitées !

    Merci d'avance pour votre aide et votre indulgence.

  2. #2
    Expert éminent
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Points : 7 149
    Points
    7 149
    Billets dans le blog
    7
    Par défaut Choix Colonne
    Bonjour le Forum, Bonjour à toi,

    Bienvenu sur ce forum.

    Si la cellule A1 contient le n° de colonne à sélectionner, alors tu peux coder

    (à adapter)

    Bien Cordialement.

    Marcel

    Dernier billet:
    Suppression des doublons d'un tableau structuré, gestion d'un array

    Pas de messagerie personnelle pour vos questions, s'il vous plaît. La réponse peut servir aux autres membres. Merci.


  3. #3
    Membre habitué
    Homme Profil pro
    Consultant comptable
    Inscrit en
    Mai 2011
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant comptable

    Informations forums :
    Inscription : Mai 2011
    Messages : 137
    Points : 160
    Points
    160
    Par défaut
    Obtient la variable colonne par une inputbox et selectionne la colonne que tu veux

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Col = InputBox("Quel colonne ?")
    Columns(Col).Select

  4. #4
    Membre expert
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2011
    Messages
    1 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 858
    Points : 3 974
    Points
    3 974
    Par défaut
    Bonjour,

    Voici la proposition de fring adaptée.
    Tu peux la coupler avec les propositions de amnorian et MarcelG.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub test()
    Dim i As Long, Col As Long
        Col = 3 'Exemple avec colonne C
        With Sheets("Feuil1") 'A adapter
            For i = 1 To .Cells(.Rows.Count, Col).End(xlUp)(-1).Row
                If Cells(i, Col).Offset(1, 0) = "" Then Cells(i, Col).Offset(1, 0) = Cells(i, Col)
            Next
        End With
    End Sub
    Cordialement

  5. #5
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Merci
    Merci à vous 3 pour vos réponses.

    J'ai repris le code de gFZT82 en y incluant l'inputbox d'amnorian, ça marche parfaitement.

    Pour m'entraîner j'ai simplement modifié le code pour que le nom de l'onglet actif soit récupéré.

    Voilà ce que ça donne :

    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
    Sub test5()
     
    Dim i As Long, Col As Long, Onglet As String
     
        Col = InputBox("Sélectionner Colonne")
    Columns(Col).Select
     
     Onglet = ActiveSheet.Name
     
       With Sheets(Onglet)
     
        For i = 1 To .Cells(.Rows.Count, Col).End(xlUp)(-1).Row
        If Cells(i, Col).Offset(1, 0) = "" Then Cells(i, Col).Offset(1, 0) = Cells(i, Col)
            Next
        End With
    End Sub
    En revanche je n'ai pas réussi à intégrer le code de MarcelG, à quel endroit doit il être utilisé ? Je l'avais inséré après Dim i% dans le code de fring mais sans succès.
    Nécessite-t-il de modifier le code qui suit ?

    Encore merci pour votre aide.

  6. #6
    Expert éminent
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Points : 7 149
    Points
    7 149
    Billets dans le blog
    7
    Par défaut
    Bonjour Ben, Bonjour le Forum,

    Ici, tu utilises la méthode Son 2ème argument désigne le numéro de colonne.

    En utilisant la valeur de la cellule A1, tu peux remplacer ta variable par (à adapter) directement dans ta formule.

    Ainsi

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cells(i, Col).Offset(1, 0) = "" Then Cells(i, Col).Offset(1, 0) = Cells(i, Col)
    deviendrait

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cells(i, [A1]).Offset(1, 0) = "" Then Cells(i, [A1]).Offset(1, 0) = Cells(i, [A1])
    Pour information, l'écriture signifie

    Bien Cordialement.

    Marcel

    Dernier billet:
    Suppression des doublons d'un tableau structuré, gestion d'un array

    Pas de messagerie personnelle pour vos questions, s'il vous plaît. La réponse peut servir aux autres membres. Merci.


  7. #7
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    MarcelG merci pour ces infos, je vais plancher là-dessus ce week-end !

  8. #8
    Membre à l'essai
    Femme Profil pro
    Assistant reporting
    Inscrit en
    Mai 2014
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Assistant reporting
    Secteur : Distribution

    Informations forums :
    Inscription : Mai 2014
    Messages : 22
    Points : 15
    Points
    15
    Par défaut Modification macro
    Bonjour à tous!

    Je me permets de rebondir sur ce vieux message car je cherche à utiliser cette macro qui fonctionne à merveille sur une colonne.

    Je voudrais l'appliquer aux colonnes de A à U et pas simplement à la colonne 3

    J'ai tenté quelques manipulations mais j'ai toujours une erreur.

    Est-ce que l'un d'entre vous pourrait m'aider?

    Par avance merci et bonne soirée

Discussions similaires

  1. Réponses: 17
    Dernier message: 10/07/2018, 10h18
  2. [XL-2007] Etirer une formule qui affiche la prochaine cellule non-vide
    Par garulf0 dans le forum Excel
    Réponses: 2
    Dernier message: 25/06/2014, 20h21
  3. Prochaine cellule non vide
    Par d0n32 dans le forum Excel
    Réponses: 5
    Dernier message: 26/10/2012, 08h44
  4. [FORMULE]Prochaine cellule non vide
    Par poulpe38 dans le forum Excel
    Réponses: 6
    Dernier message: 02/03/2009, 21h41
  5. [VBA-E] Copier valeur jusqu'à la prochaine cellule non vide
    Par desdenova dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 28/02/2008, 11h22

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