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 :

Inserer ligne dans feuille Excel avec ListBox


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Septembre 2024
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Septembre 2024
    Messages : 60
    Par défaut Inserer ligne dans feuille Excel avec ListBox
    Bonjour,

    Alors je rencontre une difficulté et malgré de nombreuses recherches je n'arrive pas à solutionner. Du coup je fais appel à vous

    Ce fichier me sert à afficher une fiche d'une référence grace à un bouton (et sa macro)
    Lorsque l'USRFORM est affiché, j'ai un bouton IMPRIMER, qui me permet d'alimenter mon template qui est la feuille TEMPLATE_IMPRESSION

    Apporter des infos dessus me pose pas de probléme.

    Par contre, pour chaque tache dans ListBox1 j'ai une ligne.
    J'aimerai que chaque ligne de ma ListBox soit placé dans la feuille TEMPLATE_IMPRESSION mais en rajoutant automatiquement une ligne.
    Dans la feuille TEMPLATE_IMPRESSION, c'est à partir de la ligne 7 qu'il faudrait que les lignes soient rajoutées.

    ETAT ACTUEL :
    J'ai trouvé déja une piste qui me permet de remonter l'ensemble des lignes de ma ListBox :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Dim R As Long, C As Long
     
    For R = 0 To ListBox1.ListCount - 1
     
        For C = 0 To ListBox1.ColumnCount - 1
            'MsgBox ("Valeur R " & R)
            'MsgBox ("Valeur C " & C)
            Application.ThisWorkbook.Worksheets("Feuil1").Range("B2").Offset(R, C).Value = ListBox1.List(R, C)
        Next
    'ThisWorkbook.Worksheets("Feuil1").Range("B4").Offset(R, C).EntireRow.Insert
    ThisWorkbook.Worksheets("Feuil1").Range("B4").Offset(R).EntireRow.Insert
    Next
    Mais j'ai la ligne des Titres qui s'inscrit dans mon template_impression et n'arrive pas à trouver la solution pour que chacune ligne de ListBox garde la mise en page de la ligne 7

    Je joins à ce message le fichier.

    Pour info, j'ai la feuille "Feuil1" qui me sert de test.
    Pensez à changer ThisWorkbook.Worksheets("Feuil1") en ThisWorkbook.Worksheets("TEMPLATE_IMPRESSION")

    A oui, du coup, il y aura un impact sur ma zone d'impression qui change... Du coup là aussi, comment la rendre dynamique car elle est de base de A1:K12

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    'Définition zone_d_impression
    ThisWorkbook.Worksheets("TEMPLATE_IMPRESSION").PageSetup.PrintArea = ("A1:K12")
    Tableau_Userform_V2.1.xlsm

    Un grand merci encore pour votre aide précieuse.

    Lieb

  2. #2
    Membre Expert Avatar de Nain porte koi
    Homme Profil pro
    peu importe
    Inscrit en
    Novembre 2023
    Messages
    1 177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : peu importe

    Informations forums :
    Inscription : Novembre 2023
    Messages : 1 177
    Par défaut
    Hello,

    Pour la copie, ajoutez CopyOrigin:=xlFormatFromRightOrBelow à la ligne ThisWorkbook.Worksheets("Feuil1").Range("B4").Offset(R).EntireRow.Insert

    Pour la zone d'impression, si elle n'est pas définie Excel la choisi seul automatiquement

  3. #3
    Membre confirmé
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Septembre 2024
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Septembre 2024
    Messages : 60
    Par défaut
    Citation Envoyé par Nain porte koi Voir le message
    Hello,

    Pour la copie, ajoutez CopyOrigin:=xlFormatFromRightOrBelow à la ligne ThisWorkbook.Worksheets("Feuil1").Range("B4").Offset(R).EntireRow.Insert

    Pour la zone d'impression, si elle n'est pas définie Excel la choisi seul automatiquement
    Bonjour,

    Merci à toi,

    Au final ça prend pas en compte la mise en forme.
    J'ai fait des impressions d'écran pour présenter mon besoin que je cherche à solutionner :

    Nom : Image_01.png
Affichages : 132
Taille : 11,3 Ko

    Nom : Image_02.png
Affichages : 130
Taille : 23,4 Ko

    J'ai mis à jour le code comme préconisé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    For R = 0 To ListBox1.ListCount - 1
     
        For C = 0 To ListBox1.ColumnCount - 1
            Application.ThisWorkbook.Worksheets("Feuil1").Range("B2").Offset(R, C).Value = ListBox1.List(R, C)
        Next
     
    'ThisWorkbook.Worksheets("Feuil1").Range("B4").Offset(R).EntireRow.Insert
    ThisWorkbook.Worksheets("Feuil1").Range("B4").Offset(R).EntireRow.Insert CopyOrigin:=xlFormatFromRightOrBelow
     
    Next
    Je continue à investiguer... Merci pour votre aide

    Lieb

  4. #4
    Membre Expert Avatar de Nain porte koi
    Homme Profil pro
    peu importe
    Inscrit en
    Novembre 2023
    Messages
    1 177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : peu importe

    Informations forums :
    Inscription : Novembre 2023
    Messages : 1 177
    Par défaut
    Alors essayez l'autre xlFormatFromLeftOrAbove

  5. #5
    Membre émérite Avatar de Alex020181
    Homme Profil pro
    Prestataire informatique développeur d'application Excel, Access, VBA
    Inscrit en
    Juin 2012
    Messages
    601
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Prestataire informatique développeur d'application Excel, Access, VBA

    Informations forums :
    Inscription : Juin 2012
    Messages : 601
    Par défaut
    Bonjour,

    Il y aurait pas mal de choses à améliorer dans ton code mais si j'ai bien compris ta demande et en reprenant volontairement ta façon de penser et de coder je pense que la PJ te fera le job.

    Je t'ai commenté le code ajouté et modifié.

    Teste et dis nous.



    PS; pas compris pourquoi tu demandes la référence pour ouvrir le formulaire puisqu'ensuite toute les tâches de toutes les références existantes sont quand même listées...
    Fichiers attachés Fichiers attachés

  6. #6
    Membre émérite Avatar de Alex020181
    Homme Profil pro
    Prestataire informatique développeur d'application Excel, Access, VBA
    Inscrit en
    Juin 2012
    Messages
    601
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Prestataire informatique développeur d'application Excel, Access, VBA

    Informations forums :
    Inscription : Juin 2012
    Messages : 601
    Par défaut
    De rien.

    Content d'avoir aidé...

  7. #7
    Membre confirmé
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Septembre 2024
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Septembre 2024
    Messages : 60
    Par défaut
    Citation Envoyé par Alex020181 Voir le message
    De rien.

    Content d'avoir aidé...
    Merci avec plaisir, désolé pour le délai de réponse. Ca fonctionne parfait !

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

Discussions similaires

  1. Réponses: 17
    Dernier message: 02/07/2017, 20h38
  2. Erreur exécution - macro insertion de lignes dans feuille excel
    Par ju5981 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 29/02/2016, 13h18
  3. Sélection des lignes de feuille Excel avec une listbox
    Par wlofab dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 22/07/2008, 15h35
  4. Réponses: 9
    Dernier message: 19/02/2007, 20h33
  5. Insérer une feuille Excel avec macro dans une page HTML
    Par Pakkaï dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 08/12/2006, 17h40

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