Excel et vb

Résolu
pierremp1 Messages postés 8 Date d'inscription dimanche 21 mai 2006 Statut Membre Dernière intervention 15 juin 2006 - 28 mai 2006 à 23:06
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 - 29 mai 2006 à 21:28
Bonsoir
Voila mon pb
sur excel
j ai une ligne A3 et des colonnes de Q à Z
Une ligne A2 avec des intitulé dans chaque colonne
J'ai creer un fomulaire de saisie via VB
avec liste deroulante dans laquelle il y a des abreviations style OUI ;NON qui lorsque je selection par ex : un OUI s affiche sous excel dans la colonne Q3
J'ai aussi un bouton dans mon formulaire qui me valide mon choix et lorsque je re ouvre mon formulaire me le remets tout vierge
jusqu a la tout vas bien
Ma question est :
Je souhaite creer dans mon formulaire  une zone de texte qui me memorise la dernier colonne ou cellule EX: Q3 avec son intitulé Q2 qui a dis OUI .
En vue de la nouvelle saisie car la prochaine peux etre OUI dans Z3 par exemple puis avec son intitule qui est  Z2 etc..
en clair que cela m'affiche les dernieres cellules qui ont affiché OUI dans ma ligne A3

j'espere que cette explications est assez complete en vous remerciant 
merci de votre aide
Pierre

3 réponses

mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
29 mai 2006 à 00:00
Salut,

il faut faire une recherche :

Dim LigneU As Long
LigneU = Columns(17).Find ("OUI", [Q65000], , , xlByRows, xlPrevious).Row

ça c'est le code pour avoir la derniere ligne ayant "OUI" dans la colonne Q.
donc, si Q10 est la dernière cellule ayant "OUI", LigneU = 10
T'as plus qu'à adapter ce code suivant tes besoins.

*Pour changer de colonne au niveau de la recherche, modifie Columns(17), 17 = Q
*si tu changes de colonne, change aussi : [Q65000] avec la bonne lettre
*puis avec ton résultat, imbrique "LigneU" pour tes autres données :
ex : Range("A" & LigneU).Value ou Cells(LigneU, 1)

@++

Mortalino
Le Mystérieux Chevalier "Provençal, le Gaulois"
3
pierremp1 Messages postés 8 Date d'inscription dimanche 21 mai 2006 Statut Membre Dernière intervention 15 juin 2006
29 mai 2006 à 18:34
Bonsoir et merci pour la reponse

est ce bien cela qu il faut faire
en vous remerciant
Pierre

Private Sub Infoamb_Change()
Dim LineU As Long
LigneU = Columns(17).Find("OUI", [Q65000], , , xlByRows, xlPrevious).Rows


End Sub
3
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
29 mai 2006 à 21:28
Salut,

Ce que je t'ai donné, c'est un bout de code, c'est pour trouver la ligne où "OUI" apparait.
Avec ce numéro de ligne, tu peux récupérer les infos de la même ligne, mais d'une colonne différente.
A toi de les chercher et de les placer dans tes textbox (ou label).

@++



  Mortalino 
Le Mystérieux Chevalier "Provençal, le Gaulois"
N'oubliez pas de lire le règlement
3
Rejoignez-nous