Mettre à jour des donnees dans un USF

bobjazz

XLDnaute Impliqué
Bonsoir le Forum

Si un courageux veut m'aider
Mon fichier

Voila, je lance mon Usf avec le bouton Test
Je choisi un technicien
apres un contrat
apres je fait un suivi que j'integre au tableau du tech, là cava, tout cela je remercie encore @Thierry@ pour ses codes qu'il laisse dans les archives (surtout le Drag N Drop).
Là où j'ai un sousi, c'est j'ouvre un autre USF(non pas LOL) c'est aller chercher les données du contrat choisi
je m'explique
J'ouvre USFSuivi en premier
je choisi mon tech et mon contrat
apres j'ouvre USFContrat
et je voudrait que la testbox6 aille chercher ses données dans la feuille Interface colonne I idem pour Tb7 avec colonne J en fonction du contrat choisi

J'ai essaye de bien m'expliquer
Si quelqu'un veut m'aider je suis ouvert à tout (presque LOL)

Merci d'avance

Bobjazz
 

myDearFriend!

XLDnaute Barbatruc
Bonsoir bobjazz,

Si tu veux mener à bien ton projet, il te faut pouvoir faire un lien entre une ligne de suivi 'Tech' (onglet 'AC' par exemple) et une ligne de l'onglet 'Interface'. Il faut donc un champ commun (à valeur unique) qui servira de lien entre les deux.
Si j'ai bien compris ton objectif, le lien le plus logique me semblerait être le numéro de contrat. En effet, si je me situe sur une ligne de l'onglet AC, je récupère le numéro de contrat correspondant et je cherche l'équivalence dans l'onglet Interface pour en récupérer les données souhaitées...

Mais sauf erreur de ma part (ou grosse usine à gaz à venir !), il est difficile de s'en servir tel quel dans l'exemple que tu as joint car ce numéro de contrat ne semble pas être toujours écrit de la même façon dans chacun des 2 onglets. En effet, si je choisis par exemple Tech = AC et Nom = BELVEDERE, je vois la référence '2020666' de l'onglet 'AC' qui devient '2.02.0666.308 n° Client 1429.03' dans l'onglet 'Interface' ! Cette différence de notation t'empêchera immanquablement de mener à bien ton projet dans de bonnes conditions...

Pour ma part, je te conseillerais donc de rectifier ce problème avant de poursuivre ton développement VBA. Tu pourrais par exemple essayer de créer une colonne supplémentaire dans l'onglet 'Interface' dans laquelle serait indiquée l'exacte référence qu'on retrouve dans les onglets AC ou AS...

Cordialement,
 

bobjazz

XLDnaute Impliqué
Bonjour Didier

Tu as compris ce que je voulais faire
Apres mon travail je me lancerai dans la reconstruction de mon tableau en ecoutant tes conseils

Je te tiendrais au courant parce que la liaison entre USF n'est pas simple pour moi pour naviguer entre eux en gardant cette liaison, comme tu me dit, le numero de contrat est le mieux approprié.

Merci

Bobjazz
 

bobjazz

XLDnaute Impliqué
Bonsoir Didier

Voila, j'ai recompose ma database avec un lien propre et precis
'N° Contrat'
J'ai essayé, mais un peu dur pour moi de trouver comment faire la liaison entre les 2, j'ai bien compris qu'il fallait prendre comme cellule de liaison le N° de contrat, mais je bloque, toute l'apres midi j'ai cherche, mais là je pense que un peu d'aide de votre part me serait le bien venu.

Si je trouve je te le dit LOL :whistle:

Merci d'avance pour le guidage

Nouveau fichier

Bobjazz
 

bobjazz

XLDnaute Impliqué
oups
nouvelle base [file name=SuivV31.zip size=31059]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/SuivV31.zip[/file]
j'avais oublie pas d'espace dans le nom du fichier zippe

Merci
bobjazz
 

Pièces jointes

  • SuivV31.zip
    30.3 KB · Affichages: 14

myDearFriend!

XLDnaute Barbatruc
Bonsoir bobjazz,

Tu trouveras ci-joint ton classeur modifié pour essayer de répondre à ton problème...

Je n'ai pas regardé l'ensemble de ton code et je me suis concentré uniquement sur le problème que tu exposes plus haut.

Pour moi, la façon la plus simple pour récupérer le N° de contrat correspondant à l'item sélectionné dans la ListBox3 (USFsuivi), c'est tout bonnement d'inclure au préalable les N° de contrats dans la liste elle-même ! Pour ce faire, j'ai ajouté une 2ème colonne (cachée) à ta liste et j'ai adapté la procédure de chargement de cette dernière (voir les commentaires dans le code).

Au lancement de l'USFcontrat, on récupère donc le numéro de contrat sélectionné avant de décharger l'USFsuivi, on fait ensuite une recherche dans la page 'Database' sur cette base et on récupère les données dans la ligne souhaitée.

J'espère avoir pu t'aider...

Cordialement, [file name=mDF_SuivV31.zip size=32719]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/mDF_SuivV31.zip[/file]
 

Pièces jointes

  • mDF_SuivV31.zip
    32 KB · Affichages: 22

bobjazz

XLDnaute Impliqué
Bonsoir Didier

Grand merci à toi

Je demandai simplement la liaison, le reste je fait, si vous me faites tout comment je pourrais progresser.
Merci pour ta rapidité et tu m'as donné la reponce que j'esperai

juste une derniere question
Est ce que c'est possible pour qu'une textbox se met avec un ascenseur pour que l'on puisse voir tout ce qu'il y a dans la cellule.
Par exemple dans mon exemple la textbox6 de l'USFContrat, qui recupere des données importantes.
Si ce n'est pas possible je jonglerai avec les donneés à rentrer dans la database.

Grand merci à toi

Bonne soirée

Bobjazz
 

myDearFriend!

XLDnaute Barbatruc
Re- bobjazz,

Dans les propriétés des TextBox6 et 7, tu mets Scrollbars = fmScrollBarsVertical, et pour un affichage correcte de la barre de défilement sans avoir à cliquer dans le TextBox avant, tu mets cette procédure dans le module de code du USF :
Private Sub UserForm_Activate()
      TextBox6.SetFocus
      TextBox6.CurLine = 0
      TextBox7.SetFocus
      TextBox7.CurLine = 0
End Sub
le 'CurLine = 0' permet de s'assurer que la barre de défilement sera en position haute...

Cordialement,
 

bobjazz

XLDnaute Impliqué
Re Salut
Merci pour tes reponces rapides et precises

Une derniere et je te laisse dormir

Private Sub ListBox3_Click()
Dim L As Integer
L = ListBox3.ListIndex
L = L + 10

With Feuille
TextBox13 = .Cells(L, 10)
TextBox14 = .Cells(L, 11)
TextBox15 = .Cells(L, 12)
TextBox16 = .Cells(L, 13)
TextBox17 = .Cells(L, 14)
TextBox18 = .Cells(L, 15)
TextBox19 = .Cells(L, 16)
TextBox20 = .Cells(L, 17)
TextBox21 = .Cells(L, 18)
TextBox22 = .Cells(L, 19)
TextBox23 = .Cells(L, 20)
TextBox24 = .Cells(L, 21)
End With

With Feuil12('Database')
TextBox1 = .Cells(L, 7)
TextBox2 = .Cells(L, 8)
TextBox3 = .Cells(L, 9)
TextBox4 = .Cells(L, 10)
TextBox5 = .Cells(L, 11)
TextBox6 = .Cells(L, 12)
TextBox7 = .Cells(L, 13)
TextBox8 = .Cells(L, 14)
TextBox9 = .Cells(L, 15)
TextBox10 = .Cells(L, 16)
TextBox11 = .Cells(L, 17)
TextBox12 = .Cells(L, 18)
End With

End Sub


Comme tu as dut remarquer je vais chercher des informations sur 2 feuilles et je coince
Toujours en fonction du choix N° de contrat

Merci pour tout

Bobjazz
 

myDearFriend!

XLDnaute Barbatruc
Re

bobjazz, dans le classeur que tu as fourni, il y avait ça :
Private Sub ListBox3_Click()
Dim L As Integer
L = ListBox3.ListIndex
L = L + 10

      With Feuille
            TextBox1 = .Cells(L, 7)
            TextBox2 = .Cells(L, 8)
            TextBox3 = .Cells(L, 9)
            TextBox4 = .Cells(L, 10)
            TextBox5 = .Cells(L, 11)
            TextBox6 = .Cells(L, 12)
            TextBox7 = .Cells(L, 13)
            TextBox8 = .Cells(L, 14)
            TextBox9 = .Cells(L, 15)
            TextBox10 = .Cells(L, 16)
            TextBox11 = .Cells(L, 17)
            TextBox12 = .Cells(L, 18)
      End With
L'objet 'Feuille' correspondant à l'onglet 'AC' ou 'AS'.

Bon, jusque là, j'étais capable de suivre et de comprendre...
Mais ton nouveau post me plonge dans le brouillard :eek: :
[ol][ul][li]Je crois tout d'abord en déduire que tu as rajouté des textbox (24 cette fois, au lieu de 12)[/li]
[li]Ensuite je m'aperçois que les TextBox 1 à 12 sont cette fois alimentés à partir de la feuille 'Database' et non plus de 'AC' ou 'AS' (?). De plus, tu cherches à leur affecter les données situées dans les colonnes 7 à 18 de cette feuille 'Database' (???). Cette feuille ne contient que 11 colonnes !! [/li]
      [li]Les TextBox 13 à 24 semblent alimentés à partir de l'une des feuilles 'AC' ou 'AS', mais tu leur affectes les valeurs contenues dans les colonnes 10 à 21 (??). Si j'en crois mes yeux, dans tes feuilles (AC/AS) tu n'as rien à partir de la colonne 18 !![/li][/ul][/ol]Là franchement bobjazz, je pense que tu t'es un peu précipité...
Je ne puis que te conseiller de revoir tout ça calmement et de réfléchir à ce que tu souhaites faire exactement. Si tu modifies au fur et à mesure ton projet et tes USF sans vraiment savoir où tu vas, j'ai bien peur que tu ailles droit dans le mur...

En premier, on définit ce que l'on souhaite, ensuite on construit les USF et tableaux correspondants et au final, on programme les évènements et définit le code VBA. En principe, on fait tout ça... mais dans cet ordre là !

Quant au Numéro de Contrat, observe bien la procédure d'Initialize() du USFcontrat et les commentaires que j'y ai mis. Si tu décortiques et analyse ce bout de code, tu devrais pouvoir comprendre le principe utilisé et le reproduire.

Je me doute bien que tout ça n'est pas évident,mais ça ne l'est pour personne tu sais...

J'espère que tu ne prendras pas mal ce que j'essais de te faire comprendre, mais pour mener à bien ton projet, il te faudra beaucoup de rigueur.

Cordialement,
 

bobjazz

XLDnaute Impliqué
Bonjour Didier

Je ne prend pas mal tes remarques, elles sont realistes et je vais les appliquer, je m'explique, comme tu as repondu avant et en plein dans le mille, mais cela faiait un bout de temps que j'essayai de faire la liaison entre les USF, entre temps ce que tu dit je l'ai fait, c'est à dire, mis sur feuilles ce que je voulais, construit des usf et fait des codes qui fonctionnent, mais là en voyant que l'on pouvait bien naviguer entre usf avec un lien, ma base de textbox1 à 12 qui etait dans les colonnes qui suivent celles que tu as travaille j'ai essaye de la mettre dans database qui est ma base comme tu as tres bien compris. Mais ce soir je regarderai bien tes codes et essayer de voir.

Ma demarche etait juste la question si je navigue entre feuille avec un lien commun entre elles, comment etait mon code, c'est tellement evident pour vous

Tiens mon fichier pour que tu voies où je veux aller, mais en evoluant, les usf varient [file name=SuivV32.zip size=36186]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/SuivV32.zip[/file]

Pour des sousis de poids, j'enleve des choses, c'est pour ca que tu ne voyyais pas tout et la c'est pareil.
Mais comme je te disais, les USF evoleunt en même temps que moi j'evolue et ça grâce à vous tous du forum.

Encore merci pour repondre et vos aides

Bobjazz
 

Pièces jointes

  • SuivV32.zip
    35.3 KB · Affichages: 21

bobjazz

XLDnaute Impliqué
Rebonjour
Oups je viens de me rendre compte qu'il manque 3 colonnes pour que les infos vont recuperer et je n'ai pas remis les liens pour ouvrir les autre USF.
Mais pour toi, tu comprendras ce que j'ai fait.
Je ne demande pas la construction, c'est juste pour que tu voies où je voulais aller

Merci, bon je vais à rendez vous sinon mon client ne va pas comprendre que le VBA est devenu un petite drogue LOL

Bonne journée

Bobjazz
 

bobjazz

XLDnaute Impliqué
Bonsoir Didier, le Forum et le Fil

Si je relance ce fil ce n'est pas pour poser une question, c'est pour remercier Didier et Thierry, qui par leurs reponces et leur patience ont fait que j'ai presque reussi à faire ce que je voulais.
leurs exemples sont toujours à l'esperance de mon attente et surtout avec ce fil, j'ai appris quelque chose, non pas appris parceque c'est ce que je dit tous les jours à mes petits jeunes qui veulent apprendre à maitriser le monde de la regulation, c'est à dire bien lire entre les lignes, bien analyser avant de ce lancer dans le vif du sujet.
Mais avec vous c'est tout simplement facile, vous reponder vite et precis. Que l'on ne reflechie plus à ce que vous voulez nous montrer et on avance trops vite à notre construction de notre sujet ou on le fait evoluer trops vite pour nos competences.
Didier, avec ta reponce de l'autre fois, j'avais plein de questions mais je me suis dit non reflechie comme il t'a dit, cherche, c'est vrai un peu dur au debut, mais au bout d'un moment oh petite lumiere et là grand mmoment de solitude 'Heureusement que je n'ai pas pose ma question'

Donc je vous dit Merci pour tout

Bobjazz
 

Discussions similaires

Réponses
1
Affichages
2 K
Compte Supprimé 979
C

Statistiques des forums

Discussions
311 720
Messages
2 081 915
Membres
101 837
dernier inscrit
Ugo