Fonction RECHERCHE dans un UserForm

Résolu/Fermé
titi76430 Messages postés 9 Date d'inscription lundi 3 décembre 2007 Statut Membre Dernière intervention 8 mars 2010 - 3 mars 2010 à 09:18
titi76430 Messages postés 9 Date d'inscription lundi 3 décembre 2007 Statut Membre Dernière intervention 8 mars 2010 - 8 mars 2010 à 21:24
Bonjour,
Bonjour,
J'ai réussi à créer un Userform avec une base de Données, cette Userform compte 19 TextBox et 6 boutons
Je voudrais pouvoir récupérer les données en cliquant sur le Bouton RECHERCHE

Explication: quant je clic sur Valider j'envoie dans la base de Données les valeurs de 15 TextBox
Et en entrant dans le TextBox1 un N° puis en cliquant sur RECHERCHE je voudrais que les 14 TextBox ce replace dans leurs TextBox respectif et de n'avoir que les 4 derniers TextBox à remplir
Cela est t'il possible
Essayer de bien m'expliqué les différante fonctions , je cherche a comprendre
Je suis nul en VBA mais j'essai
Merci d'Avance
TP
A voir également:

8 réponses

Farfadet88 Messages postés 6293 Date d'inscription lundi 28 janvier 2008 Statut Membre Dernière intervention 29 avril 2020 1 365
3 mars 2010 à 09:23
les 14 TextBox ce replace dans leurs TextBox
Que veux tu dire par là?
0
oui ce que je cherche a faire c'est metre le N° d'un badge dans le textbox 1 et que les 14 autre textboxs soit remplie automatiquement . si cela est possible bien sur
Moi j'ai essayé avec différante donne sur internet mais sans resultat
Quant on est nul on essaie de changé

Merci d'avance si tu peux m'aidé
0
titi76430 Messages postés 9 Date d'inscription lundi 3 décembre 2007 Statut Membre Dernière intervention 8 mars 2010
5 mars 2010 à 08:38
Private Sub CommandButton8_Click()
With Sheets("Données") 'Recherche
For a = 2 To .Range("A65000").End(xlUp).Row
TetBox1 = i
If .Cells(i, 1) <> .Cells(a - 1, 1) Then
TextBox1.Cells(a, 1).Value
End If

Sheets("Donnees").Range("B65536").End(xlUp).Offset(1, 0) = TextBox2.Value
Sheets("Donnees").Range("C65536").End(xlUp).Offset(1, 0) = TextBox3.Value
Sheets("Donnees").Range("D65536").End(xlUp).Offset(1, 0) = TextBox4.Value
Sheets("Donnees").Range("E65536").End(xlUp).Offset(1, 0) = TextBox5.Value
Sheets("Donnees").Range("F65536").End(xlUp).Offset(1, 0) = TextBox6.Value
Sheets("Donnees").Range("f65536").End(xlUp).Offset(1, 0) = TextBox7.Value
Sheets("Donnees").Range("G65536").End(xlUp).Offset(1, 0) = TextBox8.Value
Sheets("Donnees").Range("H65536").End(xlUp).Offset(1, 0) = TextBox9.Value
Sheets("Donnees").Range("I65536").End(xlUp).Offset(1, 0) = TextBox10.Value
Sheets("Donnees").Range("J65536").End(xlUp).Offset(1, 0) = TextBox11.Value
End If


End Sub

Voila ce que j'ai essayé de faire

Quand on est nul on essaie de changé
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 743
5 mars 2010 à 11:56
Salut,
On va "décortiquer" tout cela.
1- dans ta feuille "DONNEES", en colonne A des numéros (1, 2, 3, etc..., 475,476), en colonne B,C,... J des données quelconques.
2- ton userform : TextBox1 = chiffre (corresponds à ta colonne A) les autres TextBox correspondants à tes autres colonnes.
Le code de ton bouton "RECHERCHER" [je précise de suite que je n'ai pas testé...]:

Private Sub CommandButton8_Click() 'lors du clic sur le bouton
Dim i As Integer 'définit i comme étant un nombre entier
On Error GoTo errorHandler 'en cas d'erreur va à "errorHandler (cf fin macro)
With Sheets("Données").Columns(1) 'Dans la feuille données, colonne A
i = .Cells.find(TextBox1).Row 'cherche la valeur contenue dans TextBox1 et
'renvoie son numéro de ligne
TextBox2 = Cells(i, 2).Value 'renvoie dans chaque textbox la valeur contenue
'dans la cellule (ligne colonne) correspondante
TextBox3 = Cells(i, 3).Value
TextBox4 = Cells(i, 4).Value
TextBox5 = Cells(i, 5).Value
TextBox6 = Cells(i, 6).Value
TextBox7 = Cells(i, 7).Value
TextBox8 = Cells(i, 8).Value
TextBox9 = Cells(i, 9).Value
TextBox10 = Cells(i,10).Value
TextBox11 = Cells(i, 11).Value
End With
Exit Sub
errorHandler: 'gère l'erreur. Ici envoie un message
MsgBox("Etes vous sur d'avoir entré un numéro valide?") 
End Sub
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
titi76430 Messages postés 9 Date d'inscription lundi 3 décembre 2007 Statut Membre Dernière intervention 8 mars 2010
5 mars 2010 à 21:56
Bonsoir pijaku

Merci cela fontionne super bien
Tu m'enleve une gros epine du pied
Cordialement
Thierry
ps Si le besoin est peux tu m'aider en direct

Merci de me répondre
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 743
6 mars 2010 à 16:49
Salut,
L'aide est meilleure, il me semble si elle est partagée. En cas de problème plus long, lance un sujet et "appelle" moi par mail. Mon mail perso est dans mon profil
0
titi76430 Messages postés 9 Date d'inscription lundi 3 décembre 2007 Statut Membre Dernière intervention 8 mars 2010
6 mars 2010 à 19:14
Bonjour pijaku
le seul probleme que j'ai eu est qu'il na pas voulu enregistré les 4 textbox suplémentaire que j'ai remplie

explication
je rentre les valeurs des 14 premier textbox et je valide pour envoyé sur la page de Données ,je tape le N) dans le textbox 1 et je clic sur recherche et les 13 autrestextbox ce replace parfaitement bien et quand je rendre des données dans 4 autres textbox la il me met un message d'erreur et ne veux pas enregistré ces données,
de moindre importance pour mon programme

si tu as une solution je la prend sinon pour moi je suis déja tres satisfait du résultat

Merci

Thierry
0
titi76430 Messages postés 9 Date d'inscription lundi 3 décembre 2007 Statut Membre Dernière intervention 8 mars 2010
7 mars 2010 à 16:54
Bonjour pijaku

J'ai un probleme

J'ai modifié les différants menu UserForm
le probleme que je rencontre est que je ne peux plus enregistré les 14 TextBox dans ma base de Données et que je Valide par Imprimer Prise en Charge
Le probleme revient si je rentre des Données dans les 4 dernier TextBox et que je valide par Imprimer BL et DSPC
Private Sub CommandButton1_Click()

Sheets("Liaison").Range("B4").Value = TextBox1.Value
Sheets("Liaison").Range("B5").Value = TextBox2.Value
Sheets("Liaison").Range("B6").Value = TextBox3.Value
Sheets("Liaison").Range("B7").Value = TextBox4.Value
Sheets("Liaison").Range("B8").Value = TextBox5.Value
Sheets("Liaison").Range("B9").Value = TextBox6.Value
Sheets("Liaison").Range("B10").Value = TextBox7.Value
Sheets("Liaison").Range("B11").Value = TextBox8.Value
Sheets("Liaison").Range("B12").Value = TextBox9.Value
Sheets("Liaison").Range("B13").Value = TextBox10.Value
Sheets("Liaison").Range("B15").Value = TextBox12.Value
Sheets("Liaison").Range("B16").Value = TextBox13.Value
Sheets("Liaison").Range("B18").Value = TextBox15.Value
Sheets("Liaison").Range("B19").Value = TextBox16.Value
Sheets("Liaison").Range("B20").Value = TextBox17.Value
Sheets("Liaison").Range("B21").Value = TextBox18.Value
Sheets("Liaison").Range("B22").Value = TextBox19.Value
Sheets("Liaison").Range("B23").Value = TextBox20.Value
Sheets("Liaison").Range("B24").Value = TextBox21.Value
Sheets("Liaison").Range("B26").Value = " "
Sheets("Liaison").Range("B27").Value = " "
Sheets("Liaison").Range("B28").Value = " "
Sheets("Liaison").Range("B29").Value = " "

Sheets("Donnees").Range("A2").Value = TextBox1.Text
Sheets("Donnees").Range("B2").Value = TextBox2.Text
Sheets("Donnees").Range("C2").Value = TextBox3.Text
Sheets("Donnees").Range("D2").Value = TextBox4.Text
Sheets("Donnees").Range("E2").Value = TextBox5.Text
Sheets("Donnees").Range("F2").Value = TextBox6.Text
Sheets("Donnees").Range("G2").Value = TextBox7.Text
Sheets("Donnees").Range("H2").Value = TextBox8.Text
Sheets("Donnees").Range("I2").Value = TextBox9.Text
Sheets("Donnees").Range("J2").Value = TextBox10.Text
Sheets("Donnees").Range("K2").Value = TextBox11.Text
Sheets("Donnees").Range("L2").Value = TextBox12.Text
Sheets("Donnees").Range("M2").Value = TextBox13.Text
Sheets("Donnees").Range("O2").Value = TextBox15.Text
Sheets("Donnees").Range("P2").Value = TextBox16.Text
Sheets("Donnees").Range("Q2").Value = TextBox17.Text
Sheets("Donnees").Range("R2").Value = TextBox18.Text
Sheets("Donnees").Range("S2").Value = TextBox19.Text
Sheets("Donnees").Range("T2").Value = TextBox20.Text
Sheets("Donnees").Range("U2").Value = TextBox21.Text

Range("Donnees")("A65536").End(xlUp).Offset(1, 0).Value = TextBox1
Range("Donnees")("B65536").End(xlUp).Offset(1, 0).Value = TextBox2
Range("Donnees")("C65536").End(xlUp).Offset(1, 0).Value = TextBox3
Range("Donnees")("D65536").End(xlUp).Offset(1, 0).Value = TextBox4
Range("Donnees")("E65536").End(xlUp).Offset(1, 0).Value = TextBox5
Range("Donnees")("F65536").End(xlUp).Offset(1, 0).Value = TextBox6
Range("Donnees")("G65536").End(xlUp).Offset(1, 0).Value = TextBox7
Range("Donnees")("H65536").End(xlUp).Offset(1, 0).Value = TextBox8
Range("Donnees")("I65536").End(xlUp).Offset(1, 0).Value = TextBox9
Range("Donnees")("J65536").End(xlUp).Offset(1, 0).Value = TextBox10
Range("Donnees")("K65536").End(xlUp).Offset(1, 0).Value = TextBox11
Range("Donnees")("L65536").End(xlUp).Offset(1, 0).Value = TextBox12
Range("Donnees")("M65536").End(xlUp).Offset(1, 0).Value = TextBox13
Range("Donnees")("O65536").End(xlUp).Offset(1, 0).Value = TextBox15
Range("Donnees")("P65536").End(xlUp).Offset(1, 0).Value = TextBox16
Range("Donnees")("Q65536").End(xlUp).Offset(1, 0).Value = TextBox17
Range("Donnees")("R65536").End(xlUp).Offset(1, 0).Value = TextBox18
Range("Donnees")("S65536").End(xlUp).Offset(1, 0).Value = TextBox19
Range("Donnees")("T65536").End(xlUp).Offset(1, 0).Value = TextBox20
Range("Donnees")("U65536").End(xlUp).Offset(1, 0).Value = TextBox21


Sheets("Crn30").Select
Range("G23").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
End Sub

Private Sub CommandButton10_Click()

If TextBox1.Text = "" Then
MsgBox "Vous devez entrer un N°de Badge."
TextBox1.SetFocus
Exit Sub
End If

If TextBox2.Text = "" Then
MsgBox "Vous devez entrer un Nom."
TextBox2.SetFocus
Exit Sub
End If
If TextBox3.Text = "" Then
MsgBox "Vous devez entrer un Prenom."
TextBox3.SetFocus
Exit Sub
End If

If TextBox4.Text = "" Then
MsgBox "Vous devez entrer un N°d'APTH."
TextBox4.SetFocus
Exit Sub
End If

If TextBox5.Text = "" Then
MsgBox "Vous devez entrer une Date de Validité APTH."
TextBox5.SetFocus
Exit Sub
End If
If TextBox6.Text = "" Then
MsgBox "Vous devez entrer le Nom du Transporteur."
TextBox6.SetFocus
Exit Sub
End If
If TextBox7.Text = "" Then
MsgBox "Vous devez entrer un N°de Tracteur."
TextBox7.SetFocus
Exit Sub
End If

If TextBox8.Text = "" Then
MsgBox "Vous devez entrer la Validité Tracteur."
TextBox8.SetFocus
Exit Sub
End If
If TextBox9.Text = "" Then
MsgBox "Vous devez entrer un N° de Citerne."
TextBox9.SetFocus
Exit Sub
End If

If TextBox10.Text = "" Then
MsgBox "Vous devez entrer la Validité de la Citerne."
TextBox10.SetFocus
Exit Sub
End If

If TextBox11.Text = "" Then
MsgBox "Vous devez entrer un Code CRN30."
TextBox11.SetFocus
Exit Sub
End If

If TextBox13.Text = "" Then
MsgBox "Vous devez entrer le Nom de la Société."
TextBox13.SetFocus
Exit Sub
End If

If TextBox17.Text = "" Then
MsgBox "Vous devez entrer le dernier Produit Chargé."
TextBox17.SetFocus
Exit Sub
End If

If TextBox21.Text = "" Then
MsgBox "Vous devez entrer la TARE."
TextBox21.SetFocus
Exit Sub
End If
End Sub

Private Sub CommandButton2_Click()

Sheets("Liaison").Range("B4").Value = TextBox1.Value
Sheets("Liaison").Range("B5").Value = TextBox2.Value
Sheets("Liaison").Range("B6").Value = TextBox3.Value
Sheets("Liaison").Range("B7").Value = TextBox4.Value
Sheets("Liaison").Range("B8").Value = TextBox5.Value
Sheets("Liaison").Range("B9").Value = TextBox6.Value
Sheets("Liaison").Range("B10").Value = TextBox7.Value
Sheets("Liaison").Range("B11").Value = TextBox8.Value
Sheets("Liaison").Range("B12").Value = TextBox9.Value
Sheets("Liaison").Range("B13").Value = TextBox10.Value
Sheets("Liaison").Range("B15").Value = TextBox12.Value
Sheets("Liaison").Range("B16").Value = TextBox13.Value
Sheets("Liaison").Range("B18").Value = TextBox15.Value
Sheets("Liaison").Range("B19").Value = TextBox16.Value
Sheets("Liaison").Range("B20").Value = TextBox17.Value
Sheets("Liaison").Range("B21").Value = TextBox18.Value
Sheets("Liaison").Range("B22").Value = TextBox19.Value
Sheets("Liaison").Range("B23").Value = TextBox20.Value
Sheets("Liaison").Range("B24").Value = TextBox21.Value
Sheets("Liaison").Range("B26").Value = TextBox22.Value
Sheets("Liaison").Range("B27").Value = TextBox23.Value
Sheets("Liaison").Range("B28").Value = TextBox24.Value
Sheets("Liaison").Range("B29").Value = TextBox25.Value

Sheets("Donnees").Range("A2").Value = TextBox1.Text
Sheets("Donnees").Range("B2").Value = TextBox2.Text
Sheets("Donnees").Range("C2").Value = TextBox3.Text
Sheets("Donnees").Range("D2").Value = TextBox4.Text
Sheets("Donnees").Range("E2").Value = TextBox5.Text
Sheets("Donnees").Range("F2").Value = TextBox6.Text
Sheets("Donnees").Range("G2").Value = TextBox7.Text
Sheets("Donnees").Range("H2").Value = TextBox8.Text
Sheets("Donnees").Range("I2").Value = TextBox9.Text
Sheets("Donnees").Range("J2").Value = TextBox10.Text
Sheets("Donnees").Range("K2").Value = TextBox11.Text
Sheets("Donnees").Range("L2").Value = TextBox12.Text
Sheets("Donnees").Range("M2").Value = TextBox13.Text
Sheets("Donnees").Range("O2").Value = TextBox15.Text
Sheets("Donnees").Range("P2").Value = TextBox16.Text
Sheets("Donnees").Range("Q2").Value = TextBox17.Text
Sheets("Donnees").Range("R2").Value = TextBox18.Text
Sheets("Donnees").Range("S2").Value = TextBox19.Text
Sheets("Donnees").Range("T2").Value = TextBox20.Text
Sheets("Donnees").Range("U2").Value = TextBox21.Text
Sheets("Donnees").Range("V2").Value = TextBox22.Text
Sheets("Donnees").Range("W2").Value = TextBox23.Text
Sheets("Donnees").Range("X2").Value = TextBox24.Text
Sheets("Donnees").Range("Y2").Value = TextBox25.Text

Range("Donnees")("A65536").End(xlUp).Offset(1, 0).Value = TextBox1
Range("Donnees")("B65536").End(xlUp).Offset(1, 0).Value = TextBox2
Range("Donnees")("C65536").End(xlUp).Offset(1, 0).Value = TextBox3
Range("Donnees")("D65536").End(xlUp).Offset(1, 0).Value = TextBox4
Range("Donnees")("E65536").End(xlUp).Offset(1, 0).Value = TextBox5
Range("Donnees")("F65536").End(xlUp).Offset(1, 0).Value = TextBox6
Range("Donnees")("G65536").End(xlUp).Offset(1, 0).Value = TextBox7
Range("Donnees")("H65536").End(xlUp).Offset(1, 0).Value = TextBox8
Range("Donnees")("I65536").End(xlUp).Offset(1, 0).Value = TextBox9
Range("Donnees")("J65536").End(xlUp).Offset(1, 0).Value = TextBox10
Range("Donnees")("K65536").End(xlUp).Offset(1, 0).Value = TextBox11
Range("Donnees")("L65536").End(xlUp).Offset(1, 0).Value = TextBox12
Range("Donnees")("M65536").End(xlUp).Offset(1, 0).Value = TextBox13
Range("Donnees")("O65536").End(xlUp).Offset(1, 0).Value = TextBox15
Range("Donnees")("P65536").End(xlUp).Offset(1, 0).Value = TextBox16
Range("Donnees")("Q65536").End(xlUp).Offset(1, 0).Value = TextBox17
Range("Donnees")("R65536").End(xlUp).Offset(1, 0).Value = TextBox18
Range("Donnees")("S65536").End(xlUp).Offset(1, 0).Value = TextBox19
Range("Donnees")("T65536").End(xlUp).Offset(1, 0).Value = TextBox20
Range("Donnees")("U65536").End(xlUp).Offset(1, 0).Value = TextBox21
Range("Donnees")("V65536").End(xlUp).Offset(1, 0).Value = TextBox22
Range("Donnees")("W65536").End(xlUp).Offset(1, 0).Value = TextBox23
Range("Donnees")("X65536").End(xlUp).Offset(1, 0).Value = TextBox24
Range("Donnees")("Y65536").End(xlUp).Offset(1, 0).Value = TextBox25


Sheets("DSPC CRN30").Select
Range("N15").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Sheets("BL CRN30").Select
Range("E21").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Sheets("Crn30").Select
Range("G23").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True

End Sub

Private Sub CommandButton6_Click()
Unload UserForm2
End Sub

Private Sub CommandButton8_Click() 'lors du clic sur le bouton
Dim i As Integer 'définit i comme étant un nombre entier
With Sheets("Donnees").Columns(1) 'Dans la feuille donnees, colonne A
On Error GoTo errorHandler 'en cas d'erreur va à "errorHandler (cf fin macro)
i = .Cells.Find(TextBox1).Row 'cherche la valeur contenue dans TextBox1 et
'renvoie son numéro de ligne
'renvoie dans chaque textbox la valeur contenue
'dans la cellule (ligne colonne) correspondante
TextBox2 = Cells(i, 2).Value
TextBox3 = Cells(i, 3).Value
TextBox4 = Cells(i, 4).Value
TextBox5 = Cells(i, 5).Value
TextBox6 = Cells(i, 6).Value
TextBox7 = Cells(i, 7).Value
TextBox8 = Cells(i, 8).Value
TextBox9 = Cells(i, 9).Value
TextBox10 = Cells(i, 10).Value
TextBox11 = Cells(i, 11).Value
TextBox12 = Cells(i, 12).Value
TextBox13 = Cells(i, 13).Value
TextBox15 = Cells(i, 15).Value
TextBox16 = Cells(i, 16).Value
TextBox17 = Cells(i, 17).Value
TextBox18 = Cells(i, 18).Value
TextBox19 = Cells(i, 19).Value
TextBox20 = Cells(i, 20).Value
TextBox21 = Cells(i, 21).Value

End With
Exit Sub
errorHandler: 'gère l'erreur. Ici envoie un message
MsgBox ("Etes vous sur d'avoir entré un numéro valide?")
End Sub




Private Sub CommandButton9_Click()

If TextBox1.Text = "" Then
MsgBox "Vous devez entrer un N°de Badge."
TextBox1.SetFocus
Exit Sub
End If

If TextBox2.Text = "" Then
MsgBox "Vous devez entrer un Nom."
TextBox2.SetFocus
Exit Sub
End If
If TextBox3.Text = "" Then
MsgBox "Vous devez entrer un Prenom."
TextBox3.SetFocus
Exit Sub
End If

If TextBox4.Text = "" Then
MsgBox "Vous devez entrer un N°d'APTH."
TextBox4.SetFocus
Exit Sub
End If

If TextBox5.Text = "" Then
MsgBox "Vous devez entrer une Date de Validité APTH."
TextBox5.SetFocus
Exit Sub
End If
If TextBox6.Text = "" Then
MsgBox "Vous devez entrer le Nom du Transporteur."
TextBox6.SetFocus
Exit Sub
End If
If TextBox7.Text = "" Then
MsgBox "Vous devez entrer un N°de Tracteur."
TextBox7.SetFocus
Exit Sub
End If

If TextBox8.Text = "" Then
MsgBox "Vous devez entrer la Validité Tracteur."
TextBox8.SetFocus
Exit Sub
End If
If TextBox9.Text = "" Then
MsgBox "Vous devez entrer un N° de Citerne."
TextBox9.SetFocus
Exit Sub
End If

If TextBox10.Text = "" Then
MsgBox "Vous devez entrer la Validité de la Citerne."
TextBox10.SetFocus
Exit Sub
End If

If TextBox11.Text = "" Then
MsgBox "Vous devez entrer un Code CRN30."
TextBox11.SetFocus
Exit Sub
End If

If TextBox13.Text = "" Then
MsgBox "Vous devez entrer le Nom de la Société."
TextBox13.SetFocus
Exit Sub
End If

If TextBox17.Text = "" Then
MsgBox "Vous devez entrer le dernier Produit Chargé."
TextBox17.SetFocus
Exit Sub
End If

If TextBox21.Text = "" Then
MsgBox "Vous devez entrer la TARE."
TextBox21.SetFocus
Exit Sub
End If

If TextBox25.Text = "" Then
MsgBox "Vous devez entrer le Poids Brut."
TextBox25.SetFocus
Exit Sub
End If

End Sub


Aide moi STP

Voici le Menu RSC que j'ai créer

Pour voir les formule qui t'intéresse va dans le UserForm2
ouvert il s'appel CRN30

Merci de bien vouloir m'aidé

Quand on est nul on essaie de changé

Merci
Thierry
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 743
8 mars 2010 à 08:18
Salut,
Je ne comprends pas votre question. Pour vous aider au mieux, il faudrait nous placer ici même grâce à un service de pièce jointe (cjoint ou cijoint) une copie de votre fichier sans données confidentielles et décrire votre problème au mieux.
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 743
8 mars 2010 à 08:56
Ok bien reçu le fichier.
Dans ton code :
Range("Donnees")("A65536").End(xlUp).Offset(1, 0).Value = TextBox1
Ne veux rien dire...
code "normal" :
Sheets("Donnees").Range("A65536").End(xlUp).Offset(1, 0).Value = TextBox1
erreur d'innatention = -2 Points

De plus, ce genre de code renvoie, pour chaque colonne la "première cellule vide". Supposons qu'un champ ne soit pas rempli systématiquement, cela va décaler les données.

Au lieu de faire :
Sheets("Donnees").Range("A65536").End(xlUp).Offset(1, 0).Value = TextBox1
Sheets("Donnees").Range("B65536").End(xlUp).Offset(1, 0).Value = TextBox2
Sheets("Donnees").Range("C65536").End(xlUp).Offset(1, 0).Value = TextBox3
Sheets("Donnees").Range("D65536").End(xlUp).Offset(1, 0).Value = TextBox4

Il vaux mieux, d'abord affecter le numéro de la ligne (première ligne vide) à une variable et de "coller" les données dans la ligne comme ceci :

Dim derniereligne As Integer
With Sheets("Donnees")
derniereligne = .Range("A65536").End(xlUp).Offset(1, 0).Row
.Cells(derniereligne, 1).Value = TextBox1
.Cells(derniereligne, 2).Value = TextBox2
.Cells(derniereligne, 3).Value = TextBox3
.Cells(derniereligne, 4).Value = TextBox4
End With

Attention entre With et End With faire attention à la place des points ("."), ils sont très importants... Exemple :
Supposons que la feuille active est la Feuil1 et que nous souhaitons écrire en Feuil1!A1 et Feuil2!A1 :
With Sheets("Feuil2")
.Range("A1") = "toto" 'écris toto en Feuil2!A1
Range("A1") = "tata" 'écris tata en Feuil1!A1 (si la feuil1 est la feuille active)
End With
0
titi76430 Messages postés 9 Date d'inscription lundi 3 décembre 2007 Statut Membre Dernière intervention 8 mars 2010
8 mars 2010 à 21:24
Merci pijaku
pour moi plus de probleme
merci encore
Thierry
je ne sais pas si tu as réussi a recevoir ma piece jointe
j'ai reçu un message d'erreur quand je te l'ai envoyé

dit moi ce que tu en pense
meci encore
Thierry
0