Modif cellule et inputbox

Signaler
Messages postés
33
Date d'inscription
mercredi 2 janvier 2008
Statut
Membre
Dernière intervention
15 octobre 2009
-
Messages postés
33
Date d'inscription
mercredi 2 janvier 2008
Statut
Membre
Dernière intervention
15 octobre 2009
-
Bonsoir a tous

Je cherche comment dans une feuille de calcul excel, si je modifie une cellule(et uniquement celle la) faire apparaitre une fenetre (inputbox , userform...)demandant une données particuliere.

MPi (dans une mauvaise section...meaculpa) ma orienté vers ;"regarde du côté de l'événement Change() de la feuille (Worksheet)"

J'ai test ,mais je n'arrive pas a faire prendre en compte que la modif d'UNE cellule bien defini...

Un peu d'aide...
Merci

7 réponses

Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
19
Salut,

Disons que tu veux vérifier une entrée dans la cellule A1, mets ceci

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.AddressLocal(False, False) = "A1" Then
        'Il y a eu une modification en A1
    End If
End Sub

Change ce qui est en vert par l'action que tu veux poser.

MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
Messages postés
33
Date d'inscription
mercredi 2 janvier 2008
Statut
Membre
Dernière intervention
15 octobre 2009

Hip hip hourra !!!! MPi

impeccable.....

A bientot......

Car le chemin me semble long.....

Dailleur j ai une autre question....

Dans le cas d'une listbox  multichoix dans une Userform, elle utiles les données Liste1 pour selection et elle copi les objets selectionnés (a l aide d'une boucle utilisant UserForm1.ListBox1.ListCount....) a partir  de la cellule A1.
Comment faire pour que quand on reouvre cet Userform elle propose en préselection les choix qui ont etaient au prealable inscrit a partir de A1...

ouf!
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
19
Je ne comprends très bien la question, mais tu peux sauvegarder les paramètres qui te servent à charger la liste dans une feuille masquée (c'est le plus simple) ou dans une fichier texte ou la base de registre...

Tout dépend de ce que tu as besoin pour recharger cette liste.
Soit tu inscris toutes les données de la liste directement dans une feuille cachée, soit tu inscris seulement les limites du Range utilisé,... En fait, je ne sais pas ce que tu inscris en A1, disons et ce que ça provoque dans le programme (?)

Pour le chargement de la liste, tu peux utiliser l'événement
UserForm1_Initialize() pour charger la liste (elle sera chargée avant l'affichage) ou tu peux la charger avant d'accéder au UserForm (avant le UserForm1.Show) à partir d'une procédure quelconque...

MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
Messages postés
33
Date d'inscription
mercredi 2 janvier 2008
Statut
Membre
Dernière intervention
15 octobre 2009

Je tante une autre explication...

J'ai un objet userform1, qui me propose une Listbox multichoix ainsi que deux bouton OK et Annuler.

Cette Listbox utilise une selection de cellule appelée Maliste1.(contenant en exemple une list de fruits et leur prix sur 2 colonnes; pomme 2.5,prune.3,raisin.3,peche.4, banane.1.25....etc ...)

Dans ma page Sheet1  j'appel mon Userform1, j'effectu la selection de plusieur fruit...mes choix ce copy sur les colonnes A et B a partir de la ligne 1.

Puis je vais dans ma page Sheet2........je fait la meme oprération ...en choisissant d'autre fruit....

Ce que je souhaite c'est que en revenant sur sheet1,, si je rappel mom Userform1, il me propose comme préselection les fruits que j'avais au préalable choisie dans cette meme page!

ouf.....

@demain
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
19
Ce que je souhaite c'est que en revenant sur sheet1,, si je rappel mom
Userform1, il me propose comme préselection les fruits que j'avais au
préalable choisie dans cette meme page!



Tu veux afficher le UserForm avec les choix sélectionnés (highlightés) ? ex: 10 items dont 3 sélectionnés
Ou tu veux voir seulement les choix précédents dans la liste ?  ex: 3 items présélectionnés seulement dans la liste, les autres n'y sont plus.

Dans les 2 cas, il faut que tu conserves les choix à quelque part. Une feuille masquée reste la méthode la plus simple. Tu peux inscrire dans cette feuille les ListIndex qui ont été choisis si tu veux seulement sélectionner les items chosis précédemment et utiliser Selected pour les sélectionner dans la liste. Si tu veux que la liste ne comprennent que les items choisis précédemment, tu devras inscrire ces items plutôt que les Index dans cette feuille cachée.

PS: la possibilité de donner des noms à des plages est intéressante sous Excel, mais ça peut devenir un problème lorsque cette plage change de format (items ajoutés ou enlevés). Je n'utilise cette possibilité que lorsque j'y suis obligé...

MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
Messages postés
33
Date d'inscription
mercredi 2 janvier 2008
Statut
Membre
Dernière intervention
15 octobre 2009

Et en VBA ?

Il n'y a pas qlque chose a trouver .......dans Private Sub Worksheet_Change par Exemple ?

une instruction testant les modif de cellule dans une feuille????
Messages postés
33
Date d'inscription
mercredi 2 janvier 2008
Statut
Membre
Dernière intervention
15 octobre 2009

Oups
ma tromper de post