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 :

VBA - ajout d'une ligne à un tableau existant


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    assistante direction technique
    Inscrit en
    Avril 2018
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 52
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : assistante direction technique
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2018
    Messages : 22
    Par défaut VBA - ajout d'une ligne à un tableau existant
    Bonjour à tous,
    Je travaille sur la création d'un tableau qui se remplit sur la base d'un formulaire.
    Le souci que je rencontre est au niveau de cette ligne de code et je ne trouve pas d'où vient l'erreur et comment la corriger

    If Sheets("feuil2").Range("a2") = "" Then
    Sheets("feuil2").Range("a2") = TextBox7
    Else
    Sheets("feuil2").ListObjects(1).ListRows.Add
    End If

    ça se situe ici : Sheets("feuil2").ListObjects(1).ListRows.Add
    j'avais tenté de désigner dans la feuille 2 les limites du tableau en l'appelant "tableau1" mais même en changeant ListObjects(1) en ListObjects("tableau1"), ça bugge qd mm ...
    Pourriez vous avoir la gentillesse de m'expliquer comment réparer ce bug ?
    merci beaucoup d'avance, c'est une première étape d'un long processus de programmation et se retrouver bloquée au début, ce ne laisse rien présager de bon pour la suite
    Fichiers attachés Fichiers attachés

  2. #2
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 974
    Par défaut
    Bonjour
    Je travaille sur la création d'un tableau qui se remplit sur la base d'un formulaire.
    ton tabeau est dans l'onglet "Feuil1" alors que ton formulaire envoie les données à l'onglet "Feuil2"
    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 CommandButton1_Click()
    If TextBox1 = "" Or TextBox2 = "" Or TextBox3 = "" Or TextBox4 = "" Or TextBox5 = "" Or TextBox6 = "" Or TextBox7 = "" Or ComboBox1 = "" Then
    MsgBox ("Toutes les informations ne sont pas remplies")
    Else
    If Sheets("feuil2").Range("a2") = "" Then
    Sheets("feuil2").Range("a2") = TextBox7.Value
    Else
    Sheets("feuil2").ListObjects("tableau1").ListRows.Add
    End If
     
    dlt = Sheets("feuil2").Range("d1048576").End(xlUp).Row
     
    Sheets("feuil2").Range("a" & dlt) = TextBox7
    Sheets("feuil2").Range("b" & dlt) = TextBox6
    Sheets("feuil2").Range("c" & dlt) = TextBox5
    Sheets("feuil2").Range("d" & dlt) = TextBox1
    Sheets("feuil2").Range("e" & dlt) = ComboBox1
    Sheets("feuil2").Range("f" & dlt) = TextBox4
    Sheets("feuil2").Range("g" & dlt) = TextBox3
    Sheets("feuil2").Range("h" & dlt) = TextBox2
    Unload Me
    'End If
    End Sub
    j'arrive pas à comprendre le but de ce partie du code??? et le but que tu cherches à atteindre ??
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    If Sheets("feuil2").Range("a2") = "" Then
    Sheets("feuil2").Range("a2") = TextBox7.Value
    Else
    Sheets("feuil2").ListObjects("tableau1").ListRows.Add
    End If
    Merci de donner un peu plus d'explication
    BONNE JOURNEE A TOUTES & A TOUS

  3. #3
    Membre averti
    Femme Profil pro
    assistante direction technique
    Inscrit en
    Avril 2018
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 52
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : assistante direction technique
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2018
    Messages : 22
    Par défaut
    Tout d'abord, merci d'avoir pris le temps de regarder
    ce formulaire a deux buts :
    - remplir le tableau en feuil 1 qui est une feuille de temps : informatiquement, elle sera ensuite signée par le responsable pour validation
    - créer une BDD en feuille 2 qui sera ensuite versée en automatique sous ACCESS.
    Cette feuille d'heure est pour l'instant limitée à un seul service alors que les données récupérées en feuille 2 seront versées dans une table ACCESS générale à l'entreprise. Je ne sais pas si c'est clair comme explication ?

    Ce que je cherche à faire dans la feuille 2, c'est ajouter les enregistrements du formulaire à la suite et qu'une nouvelle entrée n'écrase pas ceux qui existent déjà ?
    je suis une débutante sous VBA alors peut être que je n'ai pas la bonne démarche, c'est une possibilité

  4. #4
    Expert éminent

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 564
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 564
    Par défaut
    Bonjour

    Je ne vois pas de listobject dans ton classeur.

    Tu as juste nommé Tableau1 une plage de cellules ce qui donne une plage nommée, pas un listobject.

    Un listobject est un tableau structuré obtenu via le bouton "Mettre sous forme de tableau" en étant au préalable placé sur un des titres et en ne définissant surtout pas de plage autres que celle proposée $A$1:$H$1 et en cochanrt "Mon tableau comporte des en-têtes.

    La taille de la plage sera gérée par Excel ce qui permet de faire fonctionner add...

  5. #5
    Membre averti
    Femme Profil pro
    assistante direction technique
    Inscrit en
    Avril 2018
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 52
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : assistante direction technique
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2018
    Messages : 22
    Par défaut
    MERCI BEAUCOUP !!!! j'ai compris où était mon erreur
    encore une fois merci pour la réponse si rapide, y a plus qu'à modifier et continuer l'aventure

  6. #6
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 974
    Par défaut
    Re bonjour
    un peu plus claire et ensemble on peut avancer
    Un point à éclairer : Pour un jour tu peux pas avoir plus qu'une ligne??? surtout que tu viens de dire :
    Cette feuille d'heure est pour l'instant limitée à un seul service alors que les données récupérées en feuille 2 seront versées dans une table ACCESS générale à l'entreprise.
    ??? car je voix en feuil2 tu n'a réserver qu'une seule ligne par jour

Discussions similaires

  1. Ajouter/Dupliquer une ligne de tableau HTML
    Par Blackmoule dans le forum jQuery
    Réponses: 43
    Dernier message: 01/06/2017, 16h47
  2. Réponses: 3
    Dernier message: 21/01/2016, 08h20
  3. Ajouter une ligne à un tableau (adaptation d'un script existant)
    Par beegees dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 26/10/2008, 11h04
  4. Ajout d'une ligne à un tableau comprennant un calendrier
    Par tavarlindar dans le forum Général JavaScript
    Réponses: 22
    Dernier message: 01/09/2008, 18h18

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