XL 2016 VBA formulaire

Yücel

XLDnaute Junior
Bonjour,

Pourriez-vous svp m'aider à effectuer une tache avec un formulaire ?

Je souhaiterai en cas de changement d'une plage de cellule afficher un formulaire à remplir et reporter la saisie sur une autre plage de cellule défini.

Vous trouverez ci-joint un fichier avec plus d'explication à ma demande.

Je vous remercie d'avance pour votre précieuse aide !

Excellente journée à vous.
 

Pièces jointes

  • Essaie 1.xlsm
    134.1 KB · Affichages: 13

youky(BJ)

XLDnaute Barbatruc
Bonjour,
J'ai bricolé le fichier, j'ai fait du changement.
Bon c'est à voir si cela conviens.
En bouton Valider j'ai mis après mon code un Exit sub car les contrôles n'existe pas.
Bruno
 

Pièces jointes

  • Essaie 1.xlsm
    115.3 KB · Affichages: 16

herve62

XLDnaute Barbatruc
Supporter XLD
Bonsoir
Voici un 1er jet du process à appliquer ( via sheets Change suivi d'un intersect) , j'ai laissé tel quel mais il y a du ménage à faire dans l'INUTILE !!!
On voit la REcup de code mais non analysé !!! ,
Pourquoi un "FRAME" dans l'USF ?? > inutile
Si besoin je laisserai plus d'explications et la méthode (simple ) pour poursuivre
Question : Comment se met le VRAI dans les cellules ?? à la main ou selon une condition ??
Les tableaux resteront ils à cet endroit ??
 

Pièces jointes

  • EssaiRV1.xlsm
    133.3 KB · Affichages: 9

TooFatBoy

XLDnaute Barbatruc
Bonjour,

Je souhaiterai en cas de changement d'une plage de cellule afficher un formulaire à remplir et reporter la saisie sur une autre plage de cellule défini.
Pour remplir ton tableau jaune, tu peux utiliser des formules plutôt qu'une macro.

Formule à mettre en I3 (puis copier la cellule et coller la formule en I3:K6) :
Code:
=SI(F7;C7;"")



Question : Comment se met le VRAI dans les cellules ?? à la main ou selon une condition ??
Visiblement c'est en cochant la case à cocher correspondante, et du coup ça ne déclenche pas le Worksheet_Change. ;)
 
Dernière édition:

youky(BJ)

XLDnaute Barbatruc
Bonjour Tous,
J'avais supprimé les checkbox liés aux cellules qui renvois vrai ou faux.
J'ai mis à la place une écriture Winding à la place qui déclenche le _change
Cela imite les checkbox
De toute façon c'est faire très compliqué ce qui est simple.
Bruno
 

Yücel

XLDnaute Junior
Je vous remercie TOUS !
Youky(BJ) C'est presque ça !! mais serai t-il possible de décaler les cellules en jaune de votre fichier de 4 lignes au-dessus ?? aussi, il me faut tout de même les vrais/Faux de mon fichier initial car j'ai d'autre formule qui son rattaché à ces cellules vrai/faux.
Ainsi, peut-on écrire (en même temps que les cellules de date se remplissent dans les cellules en jaune) les vrais/Faux dans les cellules initiales ?? c'est à dire lorsque une cellules en jaunes écrit une date alors mettre "vrai" sinon lorsqu'on supprime une date ou lorsque cellule en jaune vide alors mettre "Faux".

Mille merci à vous :D
 
Dernière édition:

Yücel

XLDnaute Junior
Bonsoir
Voici un 1er jet du process à appliquer ( via sheets Change suivi d'un intersect) , j'ai laissé tel quel mais il y a du ménage à faire dans l'INUTILE !!!
On voit la REcup de code mais non analysé !!! ,
Pourquoi un "FRAME" dans l'USF ?? > inutile
Si besoin je laisserai plus d'explications et la méthode (simple ) pour poursuivre
Question : Comment se met le VRAI dans les cellules ?? à la main ou selon une condition ??
Les tableaux resteront ils à cet endroit ??
Bonjour Herve62 !
En faite j'ai plein d'autre formule dans mon fichier de base, j'ai dû oublié de supprimer certain code vba...
Votre fichier est très bien mais il aurait fallu que le formulaire se lance lorsque l'on coche les cases tous à gauche.
Pour répondre à votre question, les Vrais/Faux s'écrivent dans les cellules lorsque l'on coche les cases tous à gauches.

Merci à vous et Excellente journée :D
 

youky(BJ)

XLDnaute Barbatruc
Quelques explications pour le futur.
Si décalage des cellules jaunes ou si ajout de noms(mettre en wingdings et "o")
Les lettres en gras sont les décalages à rectifier si modifs
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Font.Name <> "Wingdings" Then Exit Sub
FormSaisie.TextBox6 = Cells(Target.Row - 4, Target.Column + 7)
FormSaisie.Show
End Sub
Pareil dans l'userform
Private Sub ANNULER_Click()
Selection.Value = "o"
Cells(Selection.Row - 4, Selection.Column + 7) = ""
TextBox6 = ""
Unload Me
End Sub
IDEM en sauvegarder
 

Statistiques des forums

Discussions
312 215
Messages
2 086 329
Membres
103 183
dernier inscrit
karelhu35