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 :

Boucle copier valeur tant que ligne non vide [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Femme Profil pro
    Enseignant
    Inscrit en
    Septembre 2018
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2018
    Messages : 6
    Par défaut Boucle copier valeur tant que ligne non vide
    Bonjour,

    Dans la feuille passeport professionnel du fichier joint, je souhaite que les dernières valeurs des colonnes A à H se recopient sur les lignes suivantes tant que la colonne I est vide.
    J'ai essayé mais je bug, vu mon faible niveau excel.
    Voir Macro_2.
    Merci de votre aide et de m'accorder un peu de votre temps.

    Stéphanie
    Fichiers attachés Fichiers attachés

  2. #2
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour
    Voir Macro_2.
    Voir ceci et ma signature
    https://www.developpez.net/forums/d8...s-discussions/

  3. #3
    Membre à l'essai
    Femme Profil pro
    Enseignant
    Inscrit en
    Septembre 2018
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2018
    Messages : 6
    Par défaut Précision
    Désolée, je suis nouvelle venue. Merci de votre patience.

    Donc sur une feuille excel, j'ai des colonnes de A à M.

    A partir de la colonne I, il peut y avoir plusieurs lignes de cellules remplies, alors que les colonnes précédentes ne comprennent qu'une valeur possible, donc la 1ère ligne.
    Exemple :
    colonne A (date)
    27/09/2018
    colonne I (savoirs associés)
    -Savoir 1
    -Savoir 2

    Je souhaite donc que les valeurs des colonnes A à H se recopie dans les lignes suivantes tant que la colonne I est non vide.

    J'ai essayé ceci, mais je sais que j'ai au moins un pb de variable, voire plus :


    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
    Sub Macro2()
    '
    ' Macro2 Macro
    '
       Dim i%, d As Range
       Dim Ligne As Range
        Set d = Workbooks("Macro2passeport professionnel ndrc.xlsm").Worksheets("passeport professionnel")
        Set Ligne = Range("A:H" & Rows.Count).End(xlUp)
        Ligne.Select
        With ThisWorkbook.Worksheets("passeport professionnel")
            i = .Range("I" & .Rows.Count).End(xlUp).Row
            Do While .Range("I" & i + 1) <> ""
                i = i + 1
                .Range("A:H" & i) = d.Value
            Loop
        End With
     
    End Sub
    Merci de votre aide
    Images attachées Images attachées  

  4. #4
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut
    Citation Envoyé par sga7405 Voir le message
    Bonjour,

    Dans la feuille passeport professionnel du fichier joint, je souhaite que les dernières valeurs des colonnes A à H se recopient sur les lignes suivantes tant que la colonne I est vide.
    J'ai essayé mais je bug, vu mon faible niveau excel.
    Voir Macro_2.
    Merci de votre aide et de m'accorder un peu de votre temps.

    Stéphanie
    Bonjour
    Au regard de ton classeur ta demande n'est pas claire car en l'etat copier A:H tant que i est vide correspondrait a rien faire OU!! remplir A:H sur tout le sheets en entier a partir de la ligne 4
    donc selon moi ta question est mal formulée
    je soupconne que justement ton souhait soit le contraire
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  5. #5
    Membre à l'essai
    Femme Profil pro
    Enseignant
    Inscrit en
    Septembre 2018
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2018
    Messages : 6
    Par défaut
    Bonjour,

    Effectivement, je souhaite copier tant que I est complété et que la boucle s'arrête quant I est vide.

    Désolée

  6. #6
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    re
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub test()
        Dim cel As Range
            With Sheets("passeport professionnel")
            For Each cel In .Range("I4", .Cells(Rows.Count, "I").End(xlUp))
                 If Not IsEmpty(cel) And IsEmpty(cel.Offset(0, -8)) Then cel.Offset(0, -8).Resize(1, 8) = .Range("A4:H4").Value
            Next
        End With
    End Sub
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  7. #7
    Membre à l'essai
    Femme Profil pro
    Enseignant
    Inscrit en
    Septembre 2018
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2018
    Messages : 6
    Par défaut MERCIIII
    Merci beaucoup, c'est génial.
    ça pouvait être si propre.... j'étais vraiment mal partie.
    Je danse la gigue là !!!!!

    Encore merci

  8. #8
    Membre à l'essai
    Femme Profil pro
    Enseignant
    Inscrit en
    Septembre 2018
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2018
    Messages : 6
    Par défaut pb dans la macro
    bonjour,

    Dans la macro de l'autre jour, il reste un problème :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub copier_coller_boucle()
    Dim cel As Range
    With Sheets("passeport professionnel")
    For Each cel In .Range("I4", .Cells(Rows.Count, "I").End(xlUp))
    If Not IsEmpty(cel) And IsEmpty(cel.Offset(0, -8)) Then cel.Offset(0, -8).Resize(1, 8) = .Range("A4:H4").Value
     
    Next
    End With
    End Sub
    J'obtiens ceci : La macro copie uniquement les valeurs A4:H4 au lieu de copier les valeurs de la dernière ligne vide des colonnes A:H. Du coup, ça recopie toujours la 1ère fiche de situation et non les suivantes qui se créent.

    Je joins une image du fichier.

    Pouvez-vous m'aider à nouveau

    Cordialement
    Images attachées Images attachées  

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 05/09/2018, 05h08
  2. Réponses: 2
    Dernier message: 12/10/2014, 16h03
  3. Réponses: 1
    Dernier message: 15/06/2014, 10h07
  4. [XL-2007] Copier ligne et coller dernière ligne non vide
    Par John Parker dans le forum Macros et VBA Excel
    Réponses: 30
    Dernier message: 06/09/2013, 16h20
  5. Réponses: 2
    Dernier message: 30/03/2009, 13h13

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