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

Bonjour Steve, bonjour à tous,

Voici ton fichier modifié, je trouve que l'écriture avec [ ] est plus facile à visualiser, lorsque c'est possible.

Avec With et End With, cela te permet d'éviter de répéter toujours la même chose, ce qui simplifie également la lecture.

En espérant avoir répondu à ta demande.

A te relire

Martial

PS : tu dois avoir des cellules de réception erronées, à vérifier
 

Fichiers joints

SSteve

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

Bonsoir Martial, bonsoir à tous,

Merci encore une fois pour ton aide ! C'est génial !!!
La nuit portant conseil, j'ai réalisé qu'en fait il était plus simple de créer/copier cette nouvelle feuille dans OS.xlsx directement lorsque je renseigne la UserForm de la feuille Definition du classeur Base.

Du coup j'ai repris ton code et l'ai collé dans la UserForm mais suis confronté à un soucis d'activation de feuille/classeur.

Lorsque je fini la création de la nouvelle feuille dans OS, le classeur OS reste active et du coup mon UserForm ne fonctionne plus, faisant reference à BASE.xlsx.

J'ai un autre petit soucis de formatage de date dans le UserForm : je n'arrive pas à transferer un format reconnu et du coup la date affichée en destination devient aléatoire

Merci de ton aide !

Steve
 

Fichiers joints

Yaloo

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

Salut Steve,

A la fin de la macro, il faut mettre

VB:
        WkO.Save: WkO.Close
    End If
    Unload Me
End Sub

Je n'ai pas vu ton problème de date, peux-tu m'expliquer ?

A+

Martial
 

SSteve

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

Merci Martial !

C'est génial ! cela simplifie l'utilisation du code !

Pour la date, j'avai renseigné un code afin de déterminer le format attendu type '##/##/###)

Il me copiait la date renseignée dans le UserForm mais pour la date d'hier entrée au format 120313 il me donnait une date en 2024 ou quelquechose du genre (je ne m'en souviens pas...)

VBA m'a indiqué je ne sais pour quelle raison, ce matin, une erreur sur cette demande de formatage donc j'ai enlevé la ligne.

Actuellement il copie exactement ce que je rentre.

J'aimerais pouvoir rentrer par exemple 130313 et qu'il inscrive 13/03/2013

Merci de ton aide précieuse !
 

Yaloo

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

Salut Steve,

Tu peux aussi mettre ceci pour ton textbox, il suffit de rentrer sans les / comme tu le fais actuellement, ça mets les / tout seul .

VB:
Private Sub TextBox1_Change()
'Force le contenu en format date
Dim Valeur As Byte
TextBox1.MaxLength = 10 'nb caractères maxi autorisé dans le textbox
Valeur = Len(TextBox1)
    If Valeur = 2 Or Valeur = 5 Then
        TextBox1 = TextBox1 & "/"
    End If
End Sub
A+

Martial
 

SSteve

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

Martial, merci !

J'aurais besoin d'un autre coup de main :

J'ai adapté la copie/creation des données du UserForm OS.xlsx pour Avenant.xlsx. Je me retrouve avec un code erreur 1004 sans rien comprendre à son origine...
 

Yaloo

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

Re,

Oui, je veux bien, mais il faudrait un peu plus de renseignements.

De tête, l'erreur 1004 doit être une erreur concernant les cellules. (mais ça c'est de tête, donc ...) Sans voir ta macro et même ton fichier c'est compliqué.

A+
 

Yaloo

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

Ok pour Base.xlsm, pourrais-tu mettre le fichier Avenant.xlsx ?
 

Yaloo

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

Re,

J'ai mis quelques annotations dans tes macros, car il y a certaines lignes dont tu peux te passer.

Moins il y a de lignes dans une macro, plus c'est lisible, plus c'est rapide.

A+

PS : Je n'ai pas trouvé l'erreur 1004, avec le fichier cela devrait le faire.
 

Fichiers joints

Yaloo

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

Voila ton fichier, tu as le même problème avec ta macro OS. A toi de la modifier.

Je ne sais pas si tu as vu mon post #30, j'ai mis quelques annotations dans les macros, tu peux supprimer certaines lignes.

N'hésites pas si tu as besoin.

A+

Martial

PS : Pour les combobox, on peut utiliser une autre façon de les remplir qu'avec RowSource. Cela permet notamment de n'avoir que les données de la colonne A de la feuille "Definition", à voir.
 

Fichiers joints

Yaloo

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

Re,

Désolé, il y avait une erreur au niveau de l'ajout d'une nouvelle feuille. Si la feuille existait déjà, ça beuguait. J'ai donc mis une fonction permettant de vérifier que la feuille n'existe pas pour pouvoir l'ajouter, si elle existe, on l'active et on écrit dedans.

A+
 

Fichiers joints

SSteve

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

Martial, merci encore !

Je n'avais pas vu ton post #30. Je crois qu'à force de faire des tests en tout genre et des copies de copies, je m'embrouille... et en arrive à faire des erreurs dans les reprises de code...

En relisant tes notes, je réalise que j'ai fait une erreur de déroulement de procédure :

lorsque je créé un AVENANT et qu'il n'y a pas déjà d'avenant pour le LOTS concerné, la fiche AVENANT se créé et le MontantHT du Marché est celui originel (colonne L de la feuille Definition).

Si lorsque je créé un avenant et qu'il y a dejà un avenant existant pour le LOTS concerné, le MontantHT du marché renseigné dans la nouvelle fiche ANENANT est celui initial aditionné des éventuels AVENANTS précédents.
De plus le nom de la fiche devient le nom initial incrémenté...

Peux-tu m'éclairer sur cette mise en code SVP ?
 

Yaloo

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

Si je résume :

- Il n'y a pas eu d'avenant = on le crée avec le montant de l'avenant ; nom de la feuille Nom de l'avenant
- Le montant n'est-il pas celui du Marché + celui de l'avenant

- Il y a déjà eu un avenant = on crée une nouvelle feuille avec Montant de tous les avenants ; nom de feuille Nom de l'avenant 01
- par exemple Nom de feuille CHARPENTE 01

Est-ce bien ça ?
 

SSteve

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

- Il n'y a pas eu d'avenant = on le crée avec le montant de l'avenant ; nom de la feuille Nom de l'avenant
- Le montant est celui celui de l'avenant (le montant du marché est renseigné directement et la cellule total fait le reste (HT + TVA)

- Il y a déjà eu un avenant = on crée une nouvelle feuille avec Montant de tous les avenants ; nom de feuille Nom de l'avenant 01
- par exemple Nom de feuille CHARPENTE 01


Mais en fait il serait peut-être simple de faire une colonne total bout de tableau dans la feuille 'Definition' qui serait l'addition de la colonne MontantHT + AVENANT(S) et qui servirait à renseigner la cellule MontantHT des AVENANTS créés...
 

Yaloo

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

Le total peut être fait dans la macro, ce n'est pas un problème.

Je regarderai ça demain, ce soir je suis crevé.

A demain

Bonne nuit

Martial
 

SSteve

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

Idem

Merci Martial !

Bonne nuit

Steve
 

Yaloo

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

Bonjour Steve,

Boouuu ! Je crois que j'y suis arrivé, y'a peut être (surement) plus simple mais j'ai galéré :mad: :mad:

Pour tes avenants :

- Soit le nom du "Lots" existe déjà (mais ce n'est pas la dernière feuille), on rajoute une feuille avec le nom du "Lots" + 1 (ça c'est facile)

- Soit il s'agit de la dernière feuille (là, ça se complique !!!) et il s'agit d'un nom de "Lots", on rajoute une feuille avec le nom du "Lots" + 1

- Soit il s'agit d'un nouveau "Lots", on rajoute une feuille et on la nomme "Lots" 01

Pour les sommes des avenants, ça doit être OK, mais vérifie quand même, je me suis plus appliqué pour la création des feuilles.

J'ai modifié également la façon de mettre les données dans ton ComboBox "Lots", cela permet de n'avoir que les lignes existantes de ton onglets "Definition". Il faut pour ça définir un nom de plage dans Gestionnaire de Noms (mettre une plage dynamique) et rappeler à l'ouverture de ton UserForm, la plage.

J'ai fait des tests, suffisamment ... je ne sais pas, à toi de jouer ;)

A te relire

Martial
 

Fichiers joints

SSteve

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

Bonsoir Martial, Bonsoir à tous,

Je 'rigole' (rire nerveux car depuis plus d'une semaine mes nuits sont sensiblement écourtées dû à ce projet...) et je ne crois pas, apparament, me rendre compte de la complexité du déroulé du code... code qui, sans toi, n'en serait pas là : et donc un grand merci !!!

c'est génial !!!

J'ai refait un point tout à l'heure en prenant une vision globale de l'ensemble des documents (feuilles) intervenants dans ce projet.

Il me reste 3 ou 4 points à traiter (du moins je l'espère) :
- penses-tu qu'il soit possible d'incrémenter le 'N°' de l' 'AVENANT' (cellule C3)
- remplir un tableau 'AVENANT' dans lequel je puisse copier les infos liées à l'avenant nouvellement créé (cela n'est pas compliqué) mais de telle sorte que lorsque le même LOTS a 2 ou plus de 2 avenants les lots soient regroupés entre eux (insertion de ligne au bon endroit) voir l'exemple annexe


Je n'ai pas vu ou tu as modifié la manière de renseigner la ComboBox ?
 

Fichiers joints

Dernière édition:

Discussions similaires


Haut Bas