Renvoyer dans une cellule la valuer d'une TextBox en fonction d'une ComboBox

Yaloo

XLDnaute Barbatruc
Re : Renvoyer dans une cellule la valuer d'une TextBox en fonction d'une ComboBox

Salut Steve,

Je commence par la dernière question, mais c'est seulement parce que c'est la plus simple :

Dans l'UserForm, j'ai mis cette procédure permettant l'initialisation de l'UserForm.

VB:
Private Sub UserForm_Initialize()
  Lots.List = Range("Lot_Def").Value
End Sub
Tu trouvera la plage Lot_Def dans le gestionnaire de nom. C'est une plage dynamique, c'est-à-dire qu'elle va s'agrandir à chaque ajout de ligne. Cela permet de n'avoir que les lignes de ton tableau.

Pour l'incrémentation, ça doit être possible, mais qu'est-ce que c'est que cette feuille ? Elle n'était pas dans la version précédente ? Ah!!! je crois que j'ai compris, tu me dévoiles un peu de tes demandes à chaque évolution !!!! ;) Comme ça, je ne prends pas peur et je reste sur le fil ? :p Bon si tu expliques je pense qu'il n'y a pas de problème.

Pour la seconde demande, toujours possible mais il faut que tu travailles un peu, et que tu me donnes ce que tu veux exactement.

A te relire

Martial
 

SSteve

XLDnaute Junior
Re : Renvoyer dans une cellule la valuer d'une TextBox en fonction d'une ComboBox

Non non ! :cool: je t'assure. Je pensais remplir cette fiche manuellement pensant que ceci était peut-être un peu trop complexe à mettre en code... et vu l'avancement du projet, j'ai remis en perspective cette possibilité.

Le but est de minimiser l'intervention humaine ! ;)

En fait je dois avoir environ 17 feuilles différentes qui dépendent du classeur 'Base'. Mais elles fonctionnent en liens croisés. Autant dire que si ces codes renseignent mal les cellules, tout le dossier est en vrac.

OK j'ai vu pour l'initialisation du ComboBox : dans l'UserForm de l'AVENANT.
Je peux donc très bien en faire autant pour le ComboBox du UserForm 'Renseignements' ?

Quand je te disais qu'il me restait 3 ou 4 truc :
il me reste un document à remplir (copie de la trame et remplissage suivant l'UserForm 'Renseignements') mais je ne sais pas encore si cela va être une trame .docs ou .xlsx. et autant dire en .xlsx je commence à imaginer comment faire, mais en .docs... :confused: la grande inconnue !

J'ose espérer qu'après cela, ce projet sera clos.

J'imagine maintenant un ou deux bout de code sur d'autres projets mais rien à voir avec le présent projet.

Bon j'essaie de coder le remplissage du tableau AVENANT et revient à la charge si besoin.

Pour l'incrémentation, comment proceder proprement ?

Et merci encore !

Steve
 

SSteve

XLDnaute Junior
Re : Renvoyer dans une cellule la valuer d'une TextBox en fonction d'une ComboBox

Martial,

tu m'as mis le commentaire suivant :


For Each objControl In Renseignements.Controls
If TypeOf objControl Is MSForms.TextBox Then
objControl.Text = ""
End If
Next

'Pourquoi le mettre 2 fois ????
For Each objControl In Renseignements.Controls
If TypeOf objControl Is MSForms.ComboBox Then
objControl.Text = ""
End If
Next


Pourquoi :
un pour les TextBox
un pour le ComboBox

?
 

Yaloo

XLDnaute Barbatruc
Re : Renvoyer dans une cellule la valuer d'une TextBox en fonction d'une ComboBox

Re,

Post#43
Je n'avais pas vu qu'il s'agissait de TextBox et de ComboBox


Post#42

Je plaisantait évidemment :) Y'a pas de problème.

Bien sûr, pour la plage dynamique, tu peux faire la même chose pour le combobox de Renseignements.

Pour le remplissage, ça peut être fait soit sur Word soit sur Excel.

Comment procéder pour l'incrémentation ? Il faudrait voir la feuille exactement.



A te relire

Martial
 

Yaloo

XLDnaute Barbatruc
Re : Renvoyer dans une cellule la valuer d'une TextBox en fonction d'une ComboBox

Re,

Pourquoi ne pas mettre ce tableau dans ta feuille "Base" plutôt que dans "Avenant" ?

Martial
 

SSteve

XLDnaute Junior
Re : Renvoyer dans une cellule la valuer d'une TextBox en fonction d'une ComboBox

Post #44
Merci en tout cas ! ;)

La feuille est en Post #40

Post #45
Oui pourquoi pas ! Du coup la complication revient à inserer un 2e avenant à la bonne ligne...
 

Yaloo

XLDnaute Barbatruc
Re : Renvoyer dans une cellule la valuer d'une TextBox en fonction d'une ComboBox

Je pense qu'il faut mettre la ligne en dernier et faire un tri. Cela évite de s'embêter à gérer les insertion.

A+
 

Yaloo

XLDnaute Barbatruc
Re : Renvoyer dans une cellule la valuer d'une TextBox en fonction d'une ComboBox

Où prends-tu le nom de l'entreprise ?
 

SSteve

XLDnaute Junior
Re : Renvoyer dans une cellule la valuer d'une TextBox en fonction d'une ComboBox

Oui effectivement !

Mais comment gerer l'incrémentation lors du remplissage de l'avenant (cellule 3) ?
 

Yaloo

XLDnaute Barbatruc
Re : Renvoyer dans une cellule la valuer d'une TextBox en fonction d'une ComboBox

Je suis en train d'y regarder.
 

Yaloo

XLDnaute Barbatruc
Re : Renvoyer dans une cellule la valuer d'une TextBox en fonction d'une ComboBox

Re,

Voici ton fichier modifié, il faut peut être faire un peu le ménage dans la feuille "Definition" car j'ai fait des essais et nous n'avons plus le même fichier Avenant.

A+

Edit: Modification fichier car logo laissé par Steve
 

Fichiers joints

Dernière édition:

SSteve

XLDnaute Junior
Re : Renvoyer dans une cellule la valuer d'une TextBox en fonction d'une ComboBox

"je ne sais pas" & Chr(13) & "quel entreprise mettre" LOL !!!


Je ne comprends pas comment tu incrémentes le nombre d'avenant d'autant que la cellule 'C3' n'est pas renseigné... je suis un peu perdu...
 

Yaloo

XLDnaute Barbatruc
Re : Renvoyer dans une cellule la valuer d'une TextBox en fonction d'une ComboBox

Pourquoi me parles-tu de la cellule C3, il s'agit de la colonne C dans la feuille "Tableau", non .... ou alors j'ai rien compris.

Si c'est la colonne C, il s'agit de cette ligne
WkB.Sheets(3).Cells(Rows.Count, 3).End(xlUp)(2) = Val(Right(NomFeuille, 2))
Je récupère les 2 lettres à droite de NomFeuille, VAl permet de transformer du texte sous la forme de chiffre.

A+
 

SSteve

XLDnaute Junior
Re : Renvoyer dans une cellule la valuer d'une TextBox en fonction d'une ComboBox

Il me semblait bien que c'était cette instruction mais je n'en comprends pas le sens.

Mais il faut aussi renseigner la cellule 'C3' de l'Avenant' créé dans le classeur AVENANT.

Mais je n'ai plus qu'à adapter cette formule.

En tout cas le code marche très bien ! une nouvelle fois merci !

Je vais me coucher car un peu naze !
Je mettrais l'ensemble au propre et le posterais demain.

A demain.

Bonne nuit !

Steve
 
Dernière édition:

Yaloo

XLDnaute Barbatruc
Re : Renvoyer dans une cellule la valuer d'une TextBox en fonction d'une ComboBox

Pour l'avenant et la cellule C3

Il faut mettre ceci :
VB:
....
      'Détermine la ligne de copie
      i = Lots.ListIndex + 2
      ' Enregistrement des données
          With WkA.ActiveSheet
            .[B7] = WkB.Sheets(1).[B3]
            .[B8] = WkB.Sheets(1).[B4]
            .[B9] = WkB.Sheets(1).[B5]
            .[B10] = WkB.Sheets(1).[B6]
            .[C3] = Val(Right(NomFeuille, 2))
            .[E7] = WkB.Sheets(1).[B30]
            ......
A demain
 

SSteve

XLDnaute Junior
Re : Renvoyer dans une cellule la valuer d'une TextBox en fonction d'une ComboBox

Bonjour Martial, bonjour à tous,

J'ai enfin trouvé comment renseigner le nom de l'entreprise en fonction du choix du Lots dans le module AVENANT :cool:

Tu trouveras en annexe les fichiers corrigés...

J'ai quelques mises au point à te demander pour lesquelles je n'arrive pas à trouver les infos :
- comment annuler la definition d'un nom de cellules
- il y a un problème sur le focus du ComboBox Lots sur les deux UserForm
- comment empêcher que l'on puisse rentrer une autre information dans les ConboBox que le choix de la liste (quand la liste Lots de AVENANT est vide , tu peux renseigner autre chose, ce qui te créé une fiche avenant sur un lot non existant)
- peut-on permettre l'utilisation de la roulette sur les ComboBox ?

J'ai créé des liaisons depuis le classeur BASE vers les multiples autres fiches. Cependant, quand les cellules ne sont pas renseignées, un '0' est affiché dans les cellules cibles : est-il possible de ne pas rendre visible ce '0' tant que la cellule source est vierge ?

Merci de tes critiques :)
 

Fichiers joints

Yaloo

XLDnaute Barbatruc
Re : Renvoyer dans une cellule la valuer d'une TextBox en fonction d'une ComboBox

Bonsoir Steve,

1 -Pour créer, modifier ou supprimer le nom d'une cellule ou le nom d'une plage de cellules, sous 2010 :

- Onglets "Formules" puis "Gestionnaire de noms", sélectionner le nom puis agir suivant les besoins.

2 - Je ne pense pas que les ComboBox acceptent le focus.

3 - Dans les propriétés de ton ComboBox, tu as "Style" qui doit être sur 0-fmStyleDropDownCombo il faut mettre sur
2-fmStyleDropDownList

4 - Je n'ai jamais réussi à trouver l'utilisation de la roulette dans un ComboBox, ça existe peut-être....

5 - Affichage des 0, 2 solutions :
Soit modification des formules, par exemple, en Q2 =SI(SOMME(M2:p2)=0;"";SOMME(M2:p2))
Soit Onglet "Fichier", "Options avancées" puis aller chercher la ligne permettant de ne pas afficher les 0 (voir copie écran)
Afficher 0.jpg

A te relire

Martial
 

SSteve

XLDnaute Junior
Re : Renvoyer dans une cellule la valuer d'une TextBox en fonction d'une ComboBox

Merci pour tes réponses !!!

C'est génial et plaisant !!!

Mais quelle prise de tête pour arriver à décripter les codes...

Pour la souris, j'ai vu des trucs et en ai essayé certains mais .... pas convaincant pour l'instant...
 

SSteve

XLDnaute Junior
Re : Renvoyer dans une cellule la valuer d'une TextBox en fonction d'une ComboBox

Quand j'applique le 5e point précédent dans une feuille dans laquelle il y a une réference de liste, le tableau n'affiche pas les '0' mais la ComboBox les affiche : y a t il une solution à cela ?
 

Yaloo

XLDnaute Barbatruc
Re : Renvoyer dans une cellule la valuer d'une TextBox en fonction d'une ComboBox

Bonjour Steve,

Je n'ai pas compris ton dernier post. Pourrais-tu être plus clair ?

A+
 

Discussions similaires


Haut Bas