Modify data via userform

X

XC

Guest
Bonjour à tous,

J'ai un pb de modif de saisies via userform
J'ai cet userform qui me permet de saisir des données mais j'airrive pas à les modifier.
Je selectionne la ligne que je veux modifier ds mon userform, ça remplie les textbox, combobox mais ensuite quand je veux que les valeurs viennent en remplacement des précédentes, ben ça marche pas L

Le code est ds le bouton modify et l'explication ds la feuille. Fermer l'userform en cliquant sur la croix

Si quelqu'un peut m'aider (1 fois de plus) je l'en remercie

Bonne journée sinon à tous.

XC [file name=Correctdata5.zip size=42207]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Correctdata5.zip[/file]
 

Pièces jointes

  • Correctdata5.zip
    41.2 KB · Affichages: 58

le Fnake

XLDnaute Junior
Bonjour XC, le forum

Tu peux essayer la commande ci dessous, la première page de ton multipage étant numérotée 0 et l'autre 1
Code:
page=Multipage1.value
if page=0 then
'case private
(...)
else
'case public
(...)

D'ailleurs au passage, tu peux renommer tous tes controles, ca sera beaucoup plus parlant, par exemple : PrCountry (pour la combobox country de la page private), PuCountry (pour la page public), etc. C'est plus facile pour s'y retrouver ensuite. Tu peux changer çà dans les propriétés, dans la case '(name)'
Bon courage

le Fnake
 
X

XC

Guest
Salut le Fnake (tu voulais pas dire le Snake?? B) )


Merci pour cet élément.
ca repond a ma deuxième question.
je suis OK pour les contrôles. je vais faire les modifs.

par contre pour corriger mes datas, peux tu m'aider stp car le bouton modify marche pas.

Merci

XC
 
X

XC

Guest
Bonjour Salim,

tu as pas tout à fait tort... voire raison.

en effet au debut je voulais transferer mes données sur une sheet modification mais j'ai changé de technique car je sais qu'on peut modifier des donnees directement.

C'est a dire envoyer les valeurs d'une ligne ds des texbox / combobox (ça, ça marche, si tu selectionnes une ligne ds la listbox les valeurs vont ds les textbox et combo) mais ensuite je veux pouvoir resaisir ds les textbox ou sélectionner un autre produit / Country ds mes combobox afin que les nouvelles valeurs remplacent les précédentes. Et là ça bloque

J'espère que je suis plus clair. Je m'excuse, c'était bizarre

Merci et n'hésite pas à me questionner si c'est tjs pas clair

XC
 

le Fnake

XLDnaute Junior
re le fil

bon déja, c'est bien le Fnake, même si la ressemblance avec Snake n'est peut-être pas fortuite ;) :lol:

Sinon, je viens de modifier le code pour l'ajout et la modification de données (au passage, le report de données n'est pas bon quand on choisit un élément dans la liste, il y a un décalage : mettre NomLBindex = ListBox1.ListIndex + 2 au lieu de +3)

Code:
Private Sub CommandButton1_Click()
Dim mySheet As Worksheet

myPage = MultiPage1.Value
Set mySheet = IIf(myPage = 0, Worksheets('Private'), Worksheets('Public'))
With mySheet
    myLine = .Range('A65000').End(xlUp).Row + 1
    myEntity = IIf(myPage = 0, ComboBox11.Value, ComboBox21.Value)
    myRabais = IIf(myPage = 0, TextBox12.Value, TextBox22.Value)
    .Cells(myLine, 3) = myEntity
    .Cells(myLine, 5) = myRabais
    'etc.'
End With
Unload Me
End Sub
Private Sub CommandButton10_Click()
Dim mySheet As Worksheet

Msg = MsgBox('Attention, vous êtes sur le point de changer des données !', vbOKCancel + vbExclamation)
If Msg = vbCancel Then Exit Sub

myPage = MultiPage1.Value
Set mySheet = IIf(myPage = 0, Worksheets('Private'), Worksheets('Public'))
myLine = 2 + IIf(myPage = 0, ListBox1.ListIndex, ListBox2.ListIndex)
With mySheet
    myEntity = IIf(myPage = 0, ComboBox11.Value, ComboBox21.Value)
    myRabais = IIf(myPage = 0, TextBox12.Value, TextBox22.Value)
    .Cells(myLine, 3) = myEntity
    .Cells(myLine, 5) = myRabais
    'etc.'
End With
Unload Me
End Sub

Alors il faut ensuite adapter ce bout de code pour rapporter toutes les données et pour vérifier leurs validités, mais la base est là !

Bon courage !

le Fnake [file name=Correctdata5bis.zip size=33371]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Correctdata5bis.zip[/file]

Message édité par: le Fnake, à: 15/12/2005 16:20
 

Pièces jointes

  • Correctdata5bis.zip
    32.6 KB · Affichages: 72
X

XC

Guest
Oh ben c'est ça... c'est le FNAKE et le fichier fonctionne bien! :woohoo:

Merci beaucoup pour ton aide, je vais faire quelques adaptation (ce soir) et si j'ai un gros souci, je reviens te voir.

Merci aussi à Salim et a+

XC
 
X

xc

Guest
Rebonsoir le FNAKE

j`ai un peu de mal a adapter ton code a ma situationou j`ai un userform multipage a 4 feuilles.

Peux tu m`expliquer a quoi correspond :


Set mySheet = IIf(myPage = 0, Worksheets('Private'), Worksheets('Public'))

j`ai du mal sur le IIf

ca veut dire quoi ce IIF (2 feuilles??)

Merci si tu as le temps de repondre sur ce poitn

Sinon encore merci, je vais bien finir par trouver

Bonne soiree
XC
 

le Fnake

XLDnaute Junior
Bonjour XC, le forum

le Iif est en fait un test If déguisé en une instruction, c'est ici équivalent à
Code:
If MyPage=0 then
set mySheet=Worksheets('Private')
Else
set mySheet=Worksheets('Public')
End If
et donc ca permet dans remplacer 5 lignes par une seule. Mais donc, ce qui marchait pour 2 pages ne marche plus pour 4 pages, et il y a mieux que d'enchainer les If...then...Elseif...then etc.
C'est la commande select Case : elle répertorie les cas suivant les valeurs de myPage
Code:
myPage = MultiPage1.Value
Select Case myPage
    Case 0: Set mySheet = Worksheets('Private')
            myLine = mySheet.Range('A65000').End(xlUp).Row + 1
            myEntity = ComboBox11.Value
            myRabais = TextBox12.Value
            'etc'
    Case 1: Set mySheet = Worksheets('Public')
            myLine = mySheet.Range('A65000').End(xlUp).Row + 1
            myEntity = ComboBox21.Value
            myRabais = TextBox22.Value
            'etc'
    Case 2: Set mySheet = Worksheets('Feuil3')
            myLine = mySheet.Range('A65000').End(xlUp).Row + 1
            myEntity = ComboBox31.Value
            myRabais = TextBox32.Value
            'etc'
    Case 3: Set mySheet = Worksheets('Feuil4')
            myLine = mySheet.Range('A65000').End(xlUp).Row + 1
            myEntity = ComboBox41.Value
            myRabais = TextBox42.Value
            'etc'
    Case Else: 'si aucune page n est sélectionnée...'
End Select
j'ai également rajouté une petite ligne de code de sorte que lorsqu'on modifie la valeur du rabais ou du prix final, l'autre est automatiquement modifiée également.

Voila, j'espère que ca pourra déjà t'aider à avancer. Si tu as d'autres questions, n'hésites pas. Bon courage !

le Fnake
[file name=Correctdata5ter.zip size=35843]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Correctdata5ter.zip[/file]

Message édité par: le Fnake, à: 17/12/2005 11:25

Message édité par: le Fnake, à: 17/12/2005 11:25

Message édité par: le Fnake, à: 17/12/2005 11:27
 

Pièces jointes

  • Correctdata5ter.zip
    35 KB · Affichages: 71

_Thierry

XLDnaute Barbatruc
Repose en paix
=> DEMO UserForm MultiPage Modify Data MultiSheets

Bonjour le Fnake, XC, Salim, le Forum

Une approche assez différente pour ma part pour gérer des contrôles similaires répartis sur plusieurs onglets d'un contrôles multi-page...

En fait j'ai eu pas mal de fois à faire des trucs similaire et la Propriété 'Tag' que j'ai découverte un jour sur le Forum 1st Génération grace à Ti, (encore merci Ti_) est vraiment pratique pour ne plus s'enquiquiner la vie ;-)

Pour le MultiPage, en fait dans ta première mouture, XC, tu avais déjà la méthode la plus simple... Utiliser le Caption, seul restriction, bien synchroniser les noms de feuilles avec celui des Caption du MultiPage... Mais sinon c'est 'Finger in the noise'...

Je vous laisse découvrir...

Bon Week End
[ol]@+Thierry[/ol] [file name=USF_Updating_Database_MultiPage.zip size=36850]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/USF_Updating_Database_MultiPage.zip[/file]
 

Pièces jointes

  • USF_Updating_Database_MultiPage.zip
    36 KB · Affichages: 279
X

XC

Guest
Re:=> DEMO UserForm MultiPage Modify Data MultiSheets

Bonjour Le Fnake et Thierry

merci pour vos explications. J`ai bien compris desormais.

J`espere que ca servira a d`autres

Je vous souhaite une bonne journee et emcore merci. c`est sympa

XC
 

Membres actuellement en ligne

Statistiques des forums

Discussions
312 215
Messages
2 086 329
Membres
103 184
dernier inscrit
Di Martino