XL 2010 UserForm, menu déroulant cascade et enrichir une base de donnée

Virginie17d

XLDnaute Occasionnel
Bonjour à tous,

J’ai de nouveau besoin de votre aide précieuse car je bloque sur des codes pourtant simple mais sans résultat.

Contexte : Tableau de données de facturation (données sensible standardisées),
Page 1 et Page 2 sont les feuilles de traitement
Data, sont les données de mes menus déroulants
NePasModifier Page1 et Page 2, sont les données brut avant de traitement, ce qui permet de remettre les Pages 1et 2 à l'initial avant traitement

  • Action de mise en page via le Ruban Va Synthétique /Mise en page/Page1 (Tout fonctionne, l’optimisation des codes n’est pas la priorité pour l’instant.)
  • UserForm sur le Ruban VA Synthétique/Traitement VA / Page1


Mon problème est les Codes du UserForm

AnalyseSupport = combobox, les valeurs du menu son dans l’onglet Data (J8 :J30), lors de la saisie dans le formulaire cette donnée doit venir alimenter la colonne « F » (Après la mise en page)

Acteur =Combobox, les valeurs du menu son dans l’onglet Data (K8 :K30), lors de la saisie dans le formulaire cette donnée doit venir alimenter la colonne « F ». La valeur « Acteur » devra être pré-défini en fonction de la valeur choisie dans « AnalyseSupport » (Ex : J8 =K8, J9=K9)

Dossier = TextBox, la valeur doit est reprise dans le tableau dans la colonne « C » en fonction de la liste de traitement. On imagine je clique sur une ligne, j’ouvre le formulaire et la valeur se pré-remplie

Client = TextBox, la valeur doit est reprise dans le tableau dans la colonne « B » en fonction de la liste de traitement. On imagine je clique sur une ligne, j’ouvre le formulaire et la valeur se pré-remplie.

Dans votre aide, merci de spécifié le chemin d’accès des corrections ou mieux le faire sur le fichier et mettre une annotation pour définir chaque action

L’action est la même sur la Page 2 à l’exception qu’il n’y a que le textbox du commentaire quant à AGENT, TAN, TCN sont des valeurs du tableau à remonter dans le formulaire selon la ligne de traitement.

Sur les deux formulaires les boutons

Valider : devra sortir du formulaire et repositionner en cellule A2

Suivant : devra placer dans la ligne dessous en colonne « F », (je viens de traiter la ligne 3 (F2,G2 etH2 on été renseignés, je me place en F3)

Exit : sort du formulaire

Je vous remercie de votre indulgence et de votre aide, Si toutefois je n'ai pas été assez claire, n'hésitez pas à revenir vers moi.

Merci par avance

VirginieD
 

Pièces jointes

  • FICHIER TEST VA (VDO_19122020).xlsm
    179.7 KB · Affichages: 18

ChTi160

XLDnaute Barbatruc
Bonjour Virginie
une première remarque
Tu as mis "Private SupportAnalyse1_Initialize()"
cela ne peut fonctionner , quelque soit le nom du Userform c'est cette procédure qui déclenche le "Initialize"
soit :
VB:
Private Sub UserForm_Initialize()

End Sub
jean marie
 

ChTi160

XLDnaute Barbatruc
re
tu as ensuite une Boucle :
VB:
For I = 1 To 50
 Me.Controls("Commentaire" & I).Visible = True
 Next I
ce qui veut dire que tu boucles (pour afficher) sur 50 Controls "Commentaire" qui se nomment de 1 à 50 et tu n'en a qu'un
que veux tu faire avec cette Boucle ?
jean marie
 

ChTi160

XLDnaute Barbatruc
Re
tu dis :
VB:
 AnalyseSupport = combobox, les valeurs du menu son dans l’onglet Data (J8 :J30)
et dans la procédure du Userform tu as mis
VB:
 Set Ws = Sheets("Page 1") 'Correspond au nom de l'onglet dans le fichier Excel
peux tu nous expliquer ? Lol
jean marie
 

ChTi160

XLDnaute Barbatruc
Re
je ne comprends pas ce que tu veux dire!
Acteur =Combobox, les valeurs du menu son dans l’onglet Data (K8 :K30), lors de la saisie dans le formulaire cette donnée doit venir alimenter la colonne « F ». La valeur « Acteur » devra être pré-défini en fonction de la valeur choisie dans « AnalyseSupport » (Ex : J8 =K8, J9=K9)
veux tu dire que si tu sélectionnes un élément ex : "Case ATG"
il faut mettre "ATG"
si oui il suffit de mettre les valeurs des deux Colonne "Jet K" dans le "ComBoBox" et ainsi tu peux récupérer la valeur de la deuxième Colonne lors du choix dans la première?
jean marie
 

ChTi160

XLDnaute Barbatruc
Re
ce que j'ai cru comprendre Lol
VB:
Private Sub UserForm_Initialize()
Dim Ws As Worksheet
    Dim J As Long
    Dim I As Integer
    Dim T
    Dim DerLgn As Long          
    Set Ws = Sheets("Data") 'Correspond au nom de l'onglet dans le fichier Excel
    DerLgn = Ws.Range("D" & Ws.Rows.Count).End(xlUp).Row   
    With Ws
     With .Range(.Cells(9, 4), .Cells(DerLgn, 5))
'      .Sort Key1:=.Cells(1, 1), Order1:=xlAscending, Header:=xlYes
    T = .Value
     End With
    End With  
With Me.Analyse
        .ColumnCount = 2
        .ColumnWidths = "1;0"
        .Clear
        .List = T
End With
With Me.Acteur
        .ColumnCount = 2
        .ColumnWidths = "0;1"
        .Clear
        .List = T
End With
' For I = 1 To 50
' Me.Controls("Commentaire" & I).Visible = True
' Next I
Sheets("Page 1").Range("C2") = Dossier.Value
Sheets("Page 1").Range("B2") = Client.Value
End Sub
pas bien compris le pourquoi du "Page 1" et "Data" confusion peut être ! Lol
voir "page 1" colonnes "F et G"
jean marie
 
Dernière édition:

Virginie17d

XLDnaute Occasionnel
@ChTi160 merci de tes remarques, en faite l’ensemble de mon contenu de mon code est à revoir car il ne fonctionne pas, j’ai prit plusieurs codes que j’ai trouvé mais il ne fonctionne que partiellement et donc je n’ai pas la finalité attendue. J’essaye celui que tu viens de me donner et je te dis.
 

Virginie17d

XLDnaute Occasionnel
En faite je souhaites juste enrichir mon tableau.
Et comme lorsque le userform est ouvert je ne peux plus faire de copier/coller des valeurs du tableur, certaines info doit remonter dans le formulaire a titre d’info.
Et la valeur du champs 2 dépends de de ce que je met dans le champ 1.
Je suis pas devant mon pc.
J’essaye de revenir vers toi d’ici 1 heure.
Merci
 

Virginie17d

XLDnaute Occasionnel
Re
ce que j'ai cru comprendre Lol
VB:
Private Sub UserForm_Initialize()
Dim Ws As Worksheet
    Dim J As Long
    Dim I As Integer
    Dim T
    Dim DerLgn As Long         
    Set Ws = Sheets("Data") 'Correspond au nom de l'onglet dans le fichier Excel
    DerLgn = Ws.Range("D" & Ws.Rows.Count).End(xlUp).Row  
    With Ws
     With .Range(.Cells(9, 4), .Cells(DerLgn, 5))
'      .Sort Key1:=.Cells(1, 1), Order1:=xlAscending, Header:=xlYes
    T = .Value
     End With
    End With 
With Me.Analyse
        .ColumnCount = 2
        .ColumnWidths = "1;0"
        .Clear
        .List = T
End With
With Me.Acteur
        .ColumnCount = 2
        .ColumnWidths = "0;1"
        .Clear
        .List = T
End With
' For I = 1 To 50
' Me.Controls("Commentaire" & I).Visible = True
' Next I
Sheets("Page 1").Range("C2") = Dossier.Value
Sheets("Page 1").Range("B2") = Client.Value
End Sub
pas bien compris le pourquoi du "Page 1" et "Data" confusion peut être ! Lol
voir "page 1" colonnes "F et G"
jean marie
J'ai remplacé mon code initialize par le tiens et j'ai une erreur
1608401683293.png

il me renvoi sur SupportAnalyse1.Show
Je crois que je ne comprends pas la moitié des choses que je fais, pourrais tu faire la correction dans le fichier que je comprenne ce que tu souhaites faire. Je suis désolée je suis toujours aussi débutante :-(
 

Virginie17d

XLDnaute Occasionnel
Re
mdr !
tu dis :

Mais moi je ne souhaite rien Faire lol
voir #10
Tu prends le temps de mettre tes idées en formes et tu nous dis ! Lol
jean marie
Je pensais pourtant avoir été claire, je suis désolée si ce n’est pas le cas.
J’ai ma fille qui est malade et j’arrive pas à être tranquille.
Je prendrais le temps de te répondre demain matin au cas où tu es en mesure de m’aider.
Bonne soirée
Virginie
 
Haut Bas