Aide sur USF pour enregistre

P

petitclaude

Guest
Bonjour,

J’ai un USF, avec à l’intérieur des TxtDate, des ComboBox et des TextBox. ( 9 au total)
J’aurais voulu savoir, comment fait on pour les enregistre sur une feuille Excel
Et qu’il soit tous sur la même ligne.
Et pouvoir en rajouter par la suite dans la ligne du dessous etc.…

Après plusieurs tentative je n’y suis pas arriver. (Je voulais me débrouiller tout seul ma la je bloque,je suis débutant)

Si quelqu’un pouvait m’expliquer ou sinon un exemple me serait bien utile.

Merci beaucoup
 
R

Robert

Guest
Salut petitclaude, Salut le forum,

une méthode courante et de mettre un bouton "Valider" ou "Ok" dans ton USF et d'appliquer le code à ce bouton. Les differents textboxs, comboboxs ayant chacun leur nom, il suffit de se placer sur la bonne feuille, se placer sur la bonne cellule et copier les valeurs des textbox. Pour rajouter à la ligne du dessous j'utilise une boucle mais je pense qu'il y a plus simple...

exemple

Sheets("ta_feuille").Select
Range("ta_cellule").Select
'**************************
'pour rajouter à la ligne d'après
If ActiveCell.Value <> "" Then
Do Until ActiveCell.Value = ""
ActiveCell.Offset(1, 0).Select
Loop
End If
'**************************
ActiveCell.Value = TextBox1.Value
'**************************
ActiveCell.Offset(0, 1).Select 'décalage d'une cellule à droite
ActiveCell.Value = textbox2.Value
'tu répètes ces deux lignes pour chaque textbox en adaptant le nom
'**************************


Si tu rencontres encore des difficultés je te ferai ça avec exemple

À plus,

Robert
 
R

Robert

Guest
Re...,

Excuse-moi mais je ne vois pas trop ce que tu veux dire... des modifications de quoi (moi je voudrais me faire modifier le cerveau mais les médecins ne l'ont pas trouvé)...

Soit plus clair ou envoie un fichier d'exemple zippé en pièce jointe.

À plus,

Robert

p.s dans le code que je t'ai donné, remplace :

Range("ta_cellule").Select

par

ActiveSheet.Range("ta_cellule").Select

c'est plus sûr.
 
R

Ronan

Guest
Bonsoir,
Le plus simple, pour trouver la dernière ligne d'une base de données:

ligne=sheets("feuil1").cells(65536,1).end(xlup).row+1

pour pouvoir ensuite entrer dans les cellules les différentes valeurs :

sheets("feuil1").cells(ligne,1).value=userform1.textbox1.value
sheets("feuil1").cells(ligne,2).value=userform1.textbox2.value
sheets("feuil1").cells(ligne,3).value=userform1.textbox3.value
sheets("feuil1").cells(ligne,4).value=userform1.combobox1.value
etc ............

pour info:
cells(ligne"correspond au numéro de la ligne vide",1"correspond à la première colonne de la feuille")

cells(1,1) = A1
cells(2,1) = A2
cells(1,2) = B1
etc...

@+
 
P

petitclaude

Guest
Bonjour,
Ce que je veut dire par modifications

Dans mon USF j’ai 9 cages à remplir et je suis obliger de mis prendre en plusieurs fois.
5 au départ puis 2 et ensuite 2.
Avec un nouveau bouton sur mon USF je voudrais choisir la ligne qui n’est pas remplie pour la compléter et ainsi de suite.
Soit mettre carrément des boutons Précédent et suivant dans mon USF
qui intégreront toutes les lignes .

Je vous en remercie d’avance

@++petitclaude
 
P

petitclaude

Guest
Bonjour,

J'ai fait exatement ce que tu ma dit mais cela efface toute ma 1° ligne.
C'est pas exactement ce que je recherche.
Nouveau message sur "Aide sur USF pour enregistre"
Explication sur ce que je veux.

Merci encore de ton aide

@++petitclaude
 
@

@+Thierry

Guest
Bonjour Petit Claude, Ronan, Robert, le Forum


PetitClaude, Pour faire des modif dans ta base de données depui le UserForm il faudrait avoir plus d'info que tes 9 controls... Post un fichier (Zippé) représentant un extrait de ta base et de ton UserForm afin de savoir ce qu'il existe déjà dedans...

Pour modifier une ligne, l'idéal serait déjà d'avoir une ListeBox qui te permettrait de "naviguer" dans ta base de données afin de retourner les valeur existantes dans les TextBox, qui à leur tour, pourront être Modifiées/Complétée, puis ré-intégrées à leur place initiale dans la base de données...

On peut aussi envisager un SpinButton, qui ferait défiler tes lignes une à une dans les TextBox... Enfin il y a pas mal de possibiltés... Le plus compliqué est de savoir ce qui existe déjà, ce que tu sais déjà manipuler et quels sont les Controls ActiveX existants pouvant déjà servire...

Ronan, pour le report de données je partage ton avis pour retracer le Numéro de Ligne dans ce cas de figure. Par contre c'est un peu mieux de faire ainsi : (VBA comprends mieux avec With... Il sait où il va, plutot que de lui dire à chaque fois Sheets("X")..blah blah)

With Sheets("feuil1")
.Cells(ligne,1) = TextBox1
.Cells(ligne,2) = TextBox2
.Cells(ligne,3) = TextBox3
'etc
End With

Robert, alors toujours autant de Select partout !!

Bon Week End
@+Thierry
 
R

Robert

Guest
Salut à tous,

Excuse-moi petitclaude mais je profite de ce fil pour répondre à Thierry...

Hé oui ! Banane... J'apprends moi ! D'ailleurs c'est le pied j'ai passé l'après-midi sur ta demo pour Vincent. J'ai presque tout compris et la leçon est excellente.

Je mange un rat (expression typiquement sétoise) si tu revois un select dans un de mes post !!!

Merci, Obrigado, gracias...

Robert
 
P

petitclaude

Guest
Bonsoir,

J'ai essayer de faire une application tout seul
mais la je bloque et j'y arrive pas.

Je vous envoi mon fichier

Merci et bonne soirée.

à++petitclaude
 

Pièces jointes

  • Essai.zip
    41.7 KB · Affichages: 35
  • Essai.zip
    41.7 KB · Affichages: 30
  • Essai.zip
    41.7 KB · Affichages: 31

Discussions similaires

Statistiques des forums

Discussions
313 030
Messages
2 094 571
Membres
106 054
dernier inscrit
Mohajer