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 :

Copie d'une zone Excel dans une liste d'un UserForm


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    Lycéen
    Inscrit en
    Août 2022
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Finance

    Informations forums :
    Inscription : Août 2022
    Messages : 5
    Par défaut Copie d'une zone Excel dans une liste d'un UserForm
    Bonjour à tous,

    j'ai besoin d'une âme charitable pour m'aider à finaliser mon fichier...

    Je suis en train de concevoir un fichier avec 2 userforms (ajout et modification) qui semblent fonctionner pour le moment.

    Je rajoute une troisième userform qui me servirait uniquement pour les recherches en affichant dans une liste le résultat attendu
    en regardant les tutos sur internet, j'ai créé sur un nouvel onglet une copie filtrée de ma base mais cette dernière ne se recopie pas dans la liste de la userform...

    Ce sont les lignes 14-17 qui me posent souci

    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    Option Compare Text
    Dim bddfeuil1, plagefeuil5, critere
     
    Private Sub TextBox1_Change()
     
    Feuil5.Cells.Clear
    Feuil5.[AA1] = bddfeuil1.Cells(1, critere)
    Feuil5.[AA2] = Me.TextBox1.Value
     
    Feuil1.[A1].CurrentRegion.AdvancedFilter Action:=xlFilterCopy, _
    criteriarange:=Feuil5.[AA1:AA2], _
    copytorange:=Feuil5.[A1], Unique:=False
     
    If Feuil5.[A1].CurrentRegion.Row.Count > 1 Then
        Set plagefeuil5 = Feuil5.[A1].curentregion.Offset(1).Resize(Feuil5.[A1].CurrentRegion.Rows.Count - 1)
        Me.ListBox1.RowSource = plagefeuil5.adress(external:=True)
    End If
     
    End Sub
     
     
    Private Sub userform_initialize()
     
    ComboBox1.List = WorksheetFunction.Transpose(Feuil1.Range("A1:T1"))
     
    End Sub
     
    Private Sub CommandButton3_Click()
    Unload Me
    End Sub
     
    Private Sub ComboBox1_Change()
     
    For col = 1 To 20
     
        If Feuil1.Cells(1, col).Value = Me.ComboBox1.Value Then
            critere = col
        End If
    Next
    Set bddfeuil1 = Feuil1.[A1].CurrentRegion
    Me.ListBox1.ColumnCount = Feuil1.[A1].CurrentRegion.Columns.Count
    Me.ListBox1.ColumnWidths = "5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5;5"
    Me.ListBox1.ColumnHeads = True
    Me.TextBox1.Text = ""
    Me.TextBox1.SetFocus
     
    End Sub

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 182
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Je repère deux erreurs dans les lignes 14 et 15.
    Ligne 14, c'est Rows.Count et pas Row.Count
    Ligne 15, il faut deux "r" à CurrentRegion
    Il y en a peut-être d'autres mais je n'ai pas été plus loin

    Evitez les annotations comme Feuil5.[A1] et préférez Feuil5.Range("A1"), je sais que sur certains sites, c'est monnaie courante mais c'est une mauvaise pratique.
    Si vous avez l'occasion, je vous invite à consulter sur ce sujet, le billet de Pierre Fauconnier titré VBA-Excel: Notation raccourcie d'une plage, une fausse bonne idée!

    Petite suggestion, renommez le CodeName de vos feuilles par un nom explicite car Feuil5, cela n'est pas très "parlant"
    A lire éventuellement mon billet titré VBA Excel - Comment s’affranchir de la modification du nom de la feuille en utilisant son CodeName
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  3. #3
    Membre à l'essai
    Homme Profil pro
    Lycéen
    Inscrit en
    Août 2022
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Finance

    Informations forums :
    Inscription : Août 2022
    Messages : 5
    Par défaut
    Merci beaucoup pour votre oeil d'expert...
    Serait-ce abusé de vous demander de regarder la ligne juste en dessous?

    "err 438 propriété ou méthode non gérée par cet objet"

    Avec mes plus sincères remerciements

  4. #4
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 182
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Serait-ce abusé de vous demander de regarder la ligne juste en dessous?
    Address prend deux d

    Ce genre d'erreur ne devrait pas arriver parce-qu'en insérant le "." vous avez une liste déroulante (ce que l'on appelle l'intellisense) qui vous propose la liste des propriétés et méthodes liés à l'objet que vous utilisez.
    Il suffit alors de faire un double clic sur l'objet ou propriété à insérer ou encore appuyer sur la touche Tabulation si celui-ci est en sélection pour l'insérer sans faute d'orthographe.

    Illustration

    Nom : 220811 Intellisense.png
Affichages : 275
Taille : 7,6 Ko
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  5. #5
    Membre à l'essai
    Homme Profil pro
    Lycéen
    Inscrit en
    Août 2022
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Finance

    Informations forums :
    Inscription : Août 2022
    Messages : 5
    Par défaut
    Un grand merci grâce à vous je touche le bout ENFIN!!!!

    il me reste une dernière chose à régler si vous permettez...

    Lorsque je lance la procédure de mon userform via le visual basic (flèche verte) l'alimentation de la feuille Excel (bdd) fonctionne ; mais qd je lance via un bouton inséré sur une feuille Excel j'ai juste l'affichage du userform et si je fais une saisie elle ne s'enregistre pas.

    un bouton appelle une macro du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    sub appeluserform1
    userform1.show
    end sub
    et ainsi de suite

    Manque t-il un élément ici encore?

  6. #6
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 182
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Normalement, il n'y a aucune raison que cela fonctionne dans un cas et pas dans l'autre mais sans doute ne donnez vous pas toutes les explications car ce que vous écrivez
    un bouton appelle une macro du genre
    sub appeluserform1
    userform1.show
    end sub

    et ainsi de suite
    Le "du genre" et "et ainsi de suite" sont pour le moins imprécis.

    Avez-vous placé le code qui invoque le UserForm dans un module Standard ?

    Une republication du code corrigé, placé entre les balises prévues à cet effet. Ainsi que le code qui invoque le UserForm en séparant bien avec un titre indiquant Code dans le module UserForm nommé, par exemple, "UserForm1" et Code dans le module standard serait très apprécié.

    Plus vous serez précis plus les réponses que l'on vous apportera seront pertinentes
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

Discussions similaires

  1. [XL-2007] problème de codage en vba ("copie d'une partie d'une cellule dans une cellule vide")
    Par skipeemed dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 26/10/2010, 18h01
  2. [XL-2003] VBA - Copie d'une feuille dans un fichier Texte
    Par cycy75 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 12/02/2010, 16h38
  3. Réponses: 1
    Dernier message: 28/03/2007, 12h38
  4. [VBA] Copy d'une selection dans Word
    Par marsupoilu dans le forum VBA Word
    Réponses: 1
    Dernier message: 04/07/2006, 10h27
  5. [VBA] Copie d'une feuille (avec graphique)
    Par ed_dexia dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 06/10/2005, 10h56

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