Problème base de données

mathioustone

XLDnaute Nouveau
Bonjour, je suis actuellement sur une astuce pour gérer deux feuilles pour une base de données. Je m'explique, la première feuille est une feuille de saisie qui permet dobtenir la fiche client si besoin, et la deuxième feuille répertorie les différents clients.

J'ai créé un bouton: valider qui permettrait de rentrer le client directement dans la deuxième feuille mais ma synthaxe doit être deffectueuse :confused:...

Code:
Private Sub valider_Click()

    Dim ch As String
    
    ch = Trim(SAISIE.[G6])
    If Len(ch) < 2 Then End
    
    With BASE
        If WorksheetFunction.CountIf(.[F:F], ch) Then
            MsgBox "CE CLIENT EXISTE DÉJÀ !!!"
        Else
            .[A2:AX2].Insert xlDown, xlBelow
            .[A2] = .[A3] + 1
            .[F2] = ch
            .[C2] = Date
            .[H2] = Trim(SAISIE.G17)
            .[I2] = ........
            
            
            
            
            
            MsgBox ch & " à été ajouté dans la base"
        End If
    End With
    
End Sub
 

kjin

XLDnaute Barbatruc
Re : Problème base de données

bonjour,
S'agissant du CodeName des feuilles...(je n'aime pas du tout ce type de codage !)
Code:
Private Sub valider_Click()
Dim ch As String
ch = Trim(SAISIE.[G6])
If Len(ch) < 2 Then Exit Sub

With BASE
    If WorksheetFunction.CountIf(.[F:F], ch) Then
        MsgBox "CE CLIENT EXISTE DÉJÀ !!!"
    Else
        .[A2:AX2].Insert xlDown
        .[A2] = .[A3] + 1
        .[F2] = ch
        .[C2] = Date
        .[H2] = Trim(SAISIE.[G17])
        '.[I2] = ........
        MsgBox ch & " à été ajouté dans la base"
    End If
End With
End Sub
A+
kjin
 

Gorfael

XLDnaute Barbatruc
Re : Problème base de données

Salut mathioustone et le forum
Bonne année, bonne santé, meilleurs vœux
Comme [FONT=&quot]Kjin a déjà répondu, juste quelques questions et remarques :[/FONT]
Code:
.[A2:AX2].Insert xlDown, xlBelow
Qu'est censée faire cette instruction ?

Une feuille peut être désignée de 2 façons :
- CodeName : la "référence informatique" de la feuille("feuil1.instruction") => il faut passer par VBA pour le modifier, et pour le lire
- Name : le nom de l'onglet, tel qu'il est présent dans la feuille de calcul (Sheets("Feuil1").instruction). La seconde méthode est plus facile à utiliser. On peut facilement la mettre en variable.

Tu utilises
Code:
.[A2] = .[A3] + 1
=> tu t'interdis donc tout tri sur ta feuille Base
Comme tu utilises déjà "WorksheetFunction.", il serait peut-être mieux d'utiliser
Code:
.[A2] = WorksheetFunction.Max(.columns(1))+1
A+
Nota : si c'est un problème de syntaxe, normalement Excel marque la ligne en rouge quand tu la valides.

[FONT=&quot]
[/FONT]
 
Dernière édition:

Discussions similaires

Réponses
7
Affichages
371

Statistiques des forums

Discussions
312 329
Messages
2 087 325
Membres
103 516
dernier inscrit
René Rivoli Monin