Modification base de donnée

  • Initiateur de la discussion Initiateur de la discussion Florian53
  • 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 !

Florian53

XLDnaute Impliqué
Bonjour a tous j'ai un petit fichier excel qui me sert a modifié une base de donnée.

J'ai un problème sur le code car celui fonctionne trés bien quand dans la bdd il n'y a que des chiffres numériques, mais dés que le tableau est entièrement recouvert des lettres de l'alphabet celui ci me met une erreur 13 incompatibilité,
je précise bien entièrement car si si les 3 quarts son remplis de lettre et le reste chiffre numérique je n'ai aucune erreur.

Voici le code:

Private Sub BtnValider_Click()
Dim i As Byte

'recherche de la ligne
If ComboBox1.ListIndex > -1 Then
ligne = ComboBox1.List(ComboBox1.ListIndex, 1)
Else
ligne = Sheets("BD").Range("a65536").End(xlUp).Row + 1
End If

'complete la bdd
For i = 2 To 6
DerLigne = ComboBox1.ListIndex + 2
If i = 6 Then
Sheets("BD").Cells(DerLigne, i).Value = CDbl(Controls("textbox" & i).Value)
Else
Sheets("BD").Cells(DerLigne, i).Value = Controls("textbox" & i).Value
End If
Controls("textbox" & i) = ""
Next i

ComboBox1.ListIndex = -1
ComboBox1.Visible = False
Unload Me
End Sub

Et je vous envois le fichier en exemple.

Merci à vous
 

Pièces jointes

Re : Modification base de donnée

bonjour Florian53
le pb.. c'est cette ligne

Code:
Sheets("BD").Cells(DerLigne, i).Value = CDbl(Controls("textbox" & i).Value)
que voulais tu faire convertir en expression numerique ??
du moment que tu mets .value pas de souci
Code:
Controls("textbox" & i).Value
il faut savoir qu'une textbox est considére comme du texte
si tu mets .value et dans ta textbox des lettres pas de pb.. si chiffres pas de pb.. non plus tu pourras travailler sur tes cells

CDbl va te servir pour faire des calculs dans les textboxs

exemple
Code:
TextBox3 = CDbl(textbox1) + CDbl(TextBox2)
ou
TextBox3 = Val(textbox1) + CDbl(TextBox2)

attention VAL accepte que le point??
tout ca sert a rien du moment que tu sort a la fin unload me
Code:
Controls("textbox" & i) = ""
Next i

ComboBox1.ListIndex = -1
ComboBox1.Visible = False
Unload Me

de plus j'ai vu tu veus mettre une condition
pour simplifier le code de ton user donnerais cela!!!

Code:
Option Explicit
Dim y As Byte
Private Sub BtnValider_Click()
If ComboBox1 = "" Then MsgBox "attention pas de selection...": Exit Sub
With Sheets("BD")
For y = 2 To 6: .Cells(ComboBox1.ListIndex + 2, y) = Controls("TextBox" & y).Value: Next y
End With
Unload Me
End Sub
Private Sub UserForm_Initialize()
With Sheets("BD"): ComboBox1.List = Range(.[A2], .[f65536].End(xlUp)).Value: End With
End Sub
Private Sub combobox1_Click()
 For y = 2 To 6: Controls("TextBox" & y) = ComboBox1.List(ComboBox1.ListIndex, y - 1): Next y
End Sub
Private Sub BtnQuitter_Click()
Unload Me
End Sub

par contre cette ligne pas comprise peut être rajouter un fournisseur??
Code:
ligne = Sheets("BD").Range("a65536").End(xlUp).Row + 1
si c'est le cas il faut un autre bouton autrement si tu es pas l'utilsateur cela va pas être simple a comprendre !!
 
Re : Modification base de donnée

Salut merci à toi pour toutes ces explications,

En faite j'essaye de me débrouiller un peu tt seul en prenant des ligne de programme de fichiers excel du net afin de les adapter a mon projet. Mais bon je vois que c'est peut être pas trop une bonne solution.

Par contre il y a juste cette phrase là que je n'ai pas compris:

si tu mets .value et dans ta textbox des lettres pas de pb.. si chiffres pas de pb.. non plus tu pourras travailler sur tes cells

Tu a l'air de très bien connaitre le vba est ce ton métier ou une simple passion? de plus je trouve que tu explique très bien. Un grand merci à toi
 
- 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

Discussions similaires

  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
266
Réponses
3
Affichages
604
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
509
Retour