Code VBA pour formulaire

Bonjour Je gère une association qui compte aujourd'hui environ 1000 membres. Pour faciliter le travail j'ai longtemps cherché un logiciel de gestion sur le net mais aucun ne répondait aux realités de mon association. Du coup je me suis tourné vers Excel, mais je suis débutant en langage VBA et je me trouve bloqué.

J'ai créé un fichier Excel et sur la feuille accueil, jai crée deux nouveaux boutons (RECHERCHE DE MEMBRES et NOUVEAUX MEMBRES) mais j'ai du mal à écrire le code VBA pour engen

drer l'action. Je sollicite alors l'aide des experts de ce forum (le fichier est en piece jointe).

Voici mes besoins:

1-Je veux que le bouton RECHERCHE DE MEMBRES ouvre un formulaire de recherche qui va afficher des informations situées dans la feuille base de données (En tout 10 infos à afficher): Numéro de membre, Nom et prénoms, Date d'adhésion, Village, Domicile, Profession, Conjoint (e), Père, Mère, Contacts.

2-Je veux que le bouton NOUVEAUX MEMBRES ouvre un formulaire d'enregistrement des nouveaux membres avec les mêmes informations. Ces infos doivent apparaitre dans la feuille base de données. Merci pour l'aide

Bonjour Steelson,

Merci pour la réponse, le fichier ne répond vraiment pas à mes attentes. Comme indiqué, je veux utiliser la programmation VBA pour lancer les actions.

J'ai besoin que quelqu'un jette un coup d'œil sur le fichier et écrivent le code pour moi. Merci

Belle présentation !

Justement pour respecter la mise en forme, j'ai ajouté un onglet Membres dans le même esprit, à la place d'un userform plus austère.

  • bouton ajouter
  • mais aussi : tu peux afficher à partir d'un n° que tu introduis
  • tout ce que tu modifieras sera répercuté dans la base de données

Si tu es ok sur cela, je ferai le bouton de recherche

Comme tu es proche de 1000, j'ai changé les identifiants en numériques affichés sur 4 digits

Je jette un coup d'œil et je te reviens. Merci d'avance

Je t'ai fait aussi la recherche dans le nouvel onglet "Membres"

Super, tu m'as beaucoup aidé 🙏🙏🙏

Merci pour la réponse, le fichier ne répond vraiment pas à mes attentes.

C'est pourtant avec lui que j'ai fait la macro, moyennant le rajout d'un nouveau membre.

N'oublie pas de clore ce fil de discussion en cliquant sur

Oui la recherche fonctionne bien.

Mais j'ai constaté un beug dans l'onglet FICHE. Peux-tu me le réparer ? Dans le fichier de départ quand je saisissais un numéro dans la cellule I8, le nom changeait directement dans la cellule D8. Mais ça ne fonctionne plus. Sans doute un souci dans le code.

Merci de corriger ça pour moi. Je t'ai fait une capture d'écran.

20210223 122620

C'est fait

Une dernière chose s'il te plaît. Toujours dans l'onglet FICHE, tous les numéros que j'entre marchent sauf le numéro 0001. Il doit pointer sur KRA BROU DESIRE mais il renvoie MANGOUA KOUAME qui a pourtant le numéro 0010.

20210223 154012 20210223 154148

Une correction de la macro (qui n'est pas de mon cru mais qui fonctionnait auparavant en effet)

Private Sub Worksheet_Change(ByVal Target As Range)
    Application.EnableEvents = False
    With Sheets("Base de Données")
        If Not Intersect(Target, Range("D8")) Is Nothing Then
            Ln = .Range("B8:B" & .Range("B" & Rows.Count).End(xlUp).Row).Find(Range("D8").Value).Row
            Cells(8, "I").Value = Sheets("Base de Données").Cells(Ln, "A").Value

        ElseIf Not Intersect(Target, Range("I8")) Is Nothing Then
            Ln = .Range("A8:A" & .Range("A" & Rows.Count).End(xlUp).Row).Find(Format(Range("I8").Value, "0000")).Row
            Cells(8, "D").Value = Sheets("Base de Données").Cells(Ln, "B").Value

        ElseIf Not Intersect(Target, Range("C11:J22")) Is Nothing Then
            'On reporte dans la Bdd les données modifiées dans le tableau
            Ln = .Range("A8:A" & .Range("A" & Rows.Count).End(xlUp).Row).Find(Format(Range("I8").Value, "0000")).Row
            For Each C In Target
                .Cells(Ln, (C.Column - 3) * 12 + C.Row + 2).Value = C.Value
            Next C
            GoTo fin
        Else
            GoTo fin
        End If
            'On reporte dans le tableau les données de la bdd
            an = Cells(10, Target.Column).Value
            col = Target.Column
            k = 13
            For j = 3 To 10
                For i = 11 To 22
                    Cells(i, j).Value = .Cells(Ln, k).Value
                    k = k + 1
                Next i
            Next j
    End With
fin:
    Application.EnableEvents = True
End Sub

C'est parfait. Merci infiniment 🙏🙏🙏

Rechercher des sujets similaires à "code vba formulaire"