création d'une base de données

  • Initiateur de la discussion Initiateur de la discussion alaumajo
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Re : création d'une base de données

Bonjour le forum,

Je me doutais bien que ma demande était un peu gonflé 🙂
Je me suis donc lancé.
Comme le langage VBA et moi nous n'avions pas été présenté ça m'a fait un peu mal a la tête.
Si vous pouviez m'aider a résoudre le problème qui me bloque ça m' évitera d'attaquer la 2ème boite d'aspirine.

je joins le fichier où j'explique le problème sur la feuille "F3"
 

Pièces jointes

Re : création d'une base de données

Bonjour alaumajo

Si j'ai bien compris, tu peux tester ce code:

Code:
Private Sub CommandButton2_Click()
Dim Ligne As Long
Dim NOMFourniseur
    'Ajout ou modification d'une ligne d'enregistrement
    NOMFourniseur = TextBox1
     With ThisWorkbook.Sheets(NOMFourniseur)
        If Modification Then
            Ligne = ActiveCell.Row
        Else
            'Déterminer la première ligne libre du tableau
            Ligne = .Range("A65536").End(xlUp).Row + 1
        End If
        'MAJ de la ligne d'enregistrement
        .Cells(Ligne, 1) = TextBox2
        .Cells(Ligne, 2) = TextBox3
        .Cells(Ligne, 3) = TextBox4
        .Cells(Ligne, 4) = TextBox5
        .Cells(Ligne, 5) = TextBox6
        .Cells(Ligne, 6) = TextBox7
        .Cells(Ligne, 7) = TextBox8
        'Bordure de cellules
        .Range(.Cells(Ligne, 1), .Cells(Ligne, 7)).Borders.LineStyle = xlContinuous
    End With
    Unload Me
End Sub
 
Re : création d'une base de données

Bonjour alaumajo, MJ13

La même chose avec contrôle que la feuille saisie existe bien. Cordialement

KD

VB:
Private Sub CommandButton2_Click()
Dim Ligne As Long, Feuille As String, i As Integer, Cnt As Control, b As Boolean
    Feuille = Trim(TextBox1)
    For i = 1 To ThisWorkbook.Worksheets.Count
        If Worksheets(i).Name = Feuille Then
            b = True
            With ThisWorkbook.Sheets(i)
                If Modification Then
                    Ligne = ActiveCell.Row
                Else
                    Ligne = .Cells(Rows.Count, 1).End(xlUp).Row + 1
                End If
                For Each Cnt In Me.Controls
                    If TypeOf Cnt Is MSForms.TextBox Then
                        If Right(Cnt.Name, 1) <> "1" Then .Cells(Ligne, Val(Right(Cnt.Name, 1)) - 1) = Trim(Cnt)
                    End If
                Next
                .Range(.Cells(Ligne, 1), .Cells(Ligne, 7)).Borders.LineStyle = xlContinuous
            End With
        End If
    Next i
    If b = False Then MsgBox "No such sheet's name"
    Unload Me
End Sub
 
Re : création d'une base de données

Une petite question complémentaire :
Est il possible d'ouvrir automatiquement la userform a l'ouverture du classeur et de la conserver ouverte quelque soit la feuille active ?
 
Re : création d'une base de données

Bonsoir,

A la fin du commandbutton2_click

VB:
Unload Me
    Load UserForm1
    UserForm1.Show (False)
ou
VB:
For Each Cnt In Me.Controls
        If TypeOf Cnt Is msforms.TextBox Then Cnt.Value = ""
    Next
Cordialement

KD
 
Re : création d'une base de données

Je progresse et ma fois vu que c'est la première fois que je programme quelques chose en VBA je trouve que je m'en sort pas trop mal.
J'ai tout de même besoin de vos lumières sur le problème suivant :
a l'ouverture du classeur la Userform1 est chargée. (on peut la rappeler Ctrl + P)
Dans la Userform1 il y a la ComboBox1 dans la quelle j'aimerai lister l'ensemble des noms de feuille du classeur. Bien sur le nombre de feuille et leur nom est variable.

Merci pour le temps que vous me consacré
 

Pièces jointes

Re : création d'une base de données

Bonjour a tous,

J'ai résolue le chargement de la ComboBox avec le nom des feuilles du classeur.
Par contre j'aimerai bloqué l'onglet "Acceuil" en 1ère position quelque soit le rajout de feuille.
j'ai fais plusieurs essais sans succès.
Un petit conseil serai le bien venu.
 

Pièces jointes

Re : création d'une base de données

Merci pour ta réponse BrunoM45.
Je viens de me rendre compte qu'en plus de mes connaissances plus que réduite en VBA j'aurais également besoin de cours d'anglais.
Confondre after avec before ... je devais vraiment être fatigué hier soir😕
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
13
Affichages
595
  • Question Question
Microsoft 365 Format de nombres
Réponses
21
Affichages
520
Réponses
2
Affichages
136
Réponses
4
Affichages
223
Réponses
5
Affichages
700
Réponses
2
Affichages
187
Retour