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 :

Pb plantage avec insertion ligne en fin objet tableau [XL-2016]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Préparateur en pharmacie
    Inscrit en
    Décembre 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Préparateur en pharmacie
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2015
    Messages : 3
    Par défaut Pb plantage avec insertion ligne en fin objet tableau
    bonjour à tous,

    je suis plutôt novice en vba
    je me retrouve bloqué avec un plantage au moment où mon code doit insérer une nouvelle ligne à un tableau avec le message
    "erreur d'exécution 438
    propriété ou méthode non géré par cet objet"

    mon code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub Bouton_Créer_Click()
    'création de la variable dl = dernière ligne
    Dim dl As Integer
     
    'si article et unité ne sont pas vide
    If Me.TB_Article <> "" And Me.CB_Unité <> "" Then
     
        Sheets(5).ListOjects(1).ListRows.Add 'ajouter une ligne au tableau
        dl = Sheets(5).Range("A99999").End(xlUp).Row 'aller à la dernière ligne du tableau
    dans mon fichier j'ai un autre tableau similaire pour lequel le mâme de code fonctionne très bien.

    merci d'avance pur votre aide

  2. #2
    Expert confirmé
    Homme Profil pro
    Electrotechnicien
    Inscrit en
    Juillet 2016
    Messages
    3 241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Electrotechnicien

    Informations forums :
    Inscription : Juillet 2016
    Messages : 3 241
    Par défaut
    Bonjour,
    Mettre la recherche de la dernière ligne en premier, puis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     dl = Sheets(5).Range("B" & Rows.Count).End(xlUp).Row 'aller à la dernière ligne du tableau
        Sheets(5).Cells(dl, 1).ListObject.ListRows.Add AlwaysInsert:=False 'ajouter une ligne au tableau
    et pour toutes les lignes suivantes, ajouter 1 à "dl"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
       'ajouter dans le tableau
        Sheets(5).Range("A" & dl + 1) = Me.ET_ID_Article
        Sheets(5).Range("B" & dl + 1) = Me.TB_Article
    Cdlt

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Préparateur en pharmacie
    Inscrit en
    Décembre 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Préparateur en pharmacie
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2015
    Messages : 3
    Par défaut re
    ARTURO83,
    je viens d'essayer ta solution, mais çà me plante complétement Excel.
    je me demande, si je n'ai pas un problème sur la feuille 5 (article) ?

  4. #4
    Expert confirmé
    Homme Profil pro
    Electrotechnicien
    Inscrit en
    Juillet 2016
    Messages
    3 241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Electrotechnicien

    Informations forums :
    Inscription : Juillet 2016
    Messages : 3 241
    Par défaut
    je viens d'essayer ta solution, mais çà me plante complétement Excel.
    Ouvrez visual basic

    Exécutez la procédure Private Sub Bouton_Créer_Click() mettez un point d'arrêt devant la ligne If Me.TB_Article <> "" And Me.CB_Unité <> "" Then, ouvrez le formulaire, remplissez-le et cliquez sur le bouton "Créer".
    Le programme va s'arrêter au niveau de la ligne marquée du point d'arrêt, continuez en pas à pas avec la touche F8 et relevez la ligne qui fait défaut.

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Préparateur en pharmacie
    Inscrit en
    Décembre 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Préparateur en pharmacie
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2015
    Messages : 3
    Par défaut re
    re

    ça marche mais il a fallu que je mette TRUE sur le code proposé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    dl = Sheets(5).Range("B" & Rows.Count).End(xlUp).Row 'aller à la dernière ligne du tableau
    Sheets(5).Cells(dl, 1).ListObject.ListRows.Add AlwaysInsert:=False 'ajouter une ligne au tableau
    merci beaucoup

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

Discussions similaires

  1. Copier Coller avec insertion ligne, masque des lignes vides
    Par ghazalinadou dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 22/08/2017, 10h20
  2. [Toutes versions] Ajouter une ligne en fin de tableau excel avec une vba
    Par Gordongekko dans le forum Macros et VBA Excel
    Réponses: 24
    Dernier message: 23/04/2017, 12h09
  3. [XL-2016] Ajouter une ligne en fin de tableau excel avec une vba
    Par Karkan dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 21/01/2017, 15h06
  4. [XL-2013] Ajout ligne en fin de tableau avec condition
    Par julie22 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 29/09/2016, 12h17
  5. Réponses: 4
    Dernier message: 21/04/2015, 11h25

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