macro je suis perdu - VB/VBA/VBS - Programmation
Marsh Posté le 18-03-2005 à 09:24:03
C pas tres clair ton histoire. je vois pas bien ce que tu veux faire. tu pourrais pas être un peu plus clair
Marsh Posté le 18-03-2005 à 09:59:39
D'après ce que j'ai cru comprendre (c'est vrai que c'est pas très clair) il faut utiliser la function suivante dans le code de ta feuille acceuil:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Worksheets("base de donnee" ).PasseEnHaut(CInt(Cells(1,1).Value))
End Sub
Dans ta feuille base de donnée, tu insère:
sub passeEnHaut(reference as integer)
for i=1 to nbDeligneDsBaseDonnées
if cells(i,1)=reference then
Rows(CStr(i)+":"+CStr(i)).Select
Selection.Cut
Rows("1:1" ).Select
Selection.Insert Shift:=xlDown
end if
next i
end sub
Cela va te permettre de mettre en haut de ta feuille base de donnee l'enregistrement dont la colonne A est égale à la cellule A1 de ta feuille acceuil. La mise à jour sera faite à chaque fois que la selection de ta feuille accueil sera changée.
Marsh Posté le 18-03-2005 à 14:08:10
re salut
j'ai bien mis ton code
quand je clique droit dans l'onglet acceuil visualise le code
le code apparait
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Worksheets("base de donnee" ).PasseEnHaut(CInt(Cells(1,1).Value))
End Sub
Dans ta feuille base de donnée, tu insère:
dans un module
sub passeEnHaut(reference as integer)
for i=1 to nbDeligneDsBaseDonnee
if cells(i,1)=reference then
Rows(CStr(i)+":"+CStr(i)).Select
Selection.Cut
Rows("1:1" ).Select
Selection.Insert Shift:=xlDown
end if
next i
end sub
je change la valeur de ma cellule A1 dans ma page acceuil
rien ne se passe en feuille base de donnee
ou je fait l'erreur
merci pour ta reponse
aiglon74
Marsh Posté le 18-03-2005 à 14:09:46
re salut
j'ai bien mis ton code
quand je clique droit dans l'onglet acceuil visualise le code
le code apparait
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Worksheets("base de donnee" ).PasseEnHaut(CInt(Cells(1,1).Value))
End Sub
Dans ta feuille base de donnée, tu insère:
dans un module
sub passeEnHaut(reference as integer)
for i=1 to nbDeligneDsBaseDonnee
if cells(i,1)=reference then
Rows(CStr(i)+":"+CStr(i)).Select
Selection.Cut
Rows("1:1" ).Select
Selection.Insert Shift:=xlDown
end if
next i
end sub
je change la valeur de ma cellule A1 dans ma page acceuil
rien ne se passe en feuille base de donnee
ou je fait l'erreur
merci pour ta reponse
Marsh Posté le 18-03-2005 à 14:24:05
salut
pas toujour facile d'expliquer des problemes
voila en feuille accueil en cellule A1 j'ai un nombre
en feuille base de donnee j'ai une liste de 120 lignes
en colonne A de base de donnee les nombres que je pourrais taper en feuille acceuil quand je tape un de ces nombres en feuille acceuil cellule A1 je voudrais que la ligne qui corespond a ce nombre passe en haut de feuille base de donnee
Marsh Posté le 18-03-2005 à 06:18:09
salut a tous
voici mon petit probleme
dans une feuille "base de donne"
j'ai 4 colonnes de donnee
dans une feuille "acceuil"
dans la cellule A1 je veux marquer une reference qui correspond a une cellule de la colonne A de ma "base de donne"
je voudrais que si je tape 0001 dans A1 cette ligne passe en haut de ma feuille basse de donnee
je voudrais que si je tape 0002 dans A1 cette ligne passe en haut de ma feuille basse de donnee etc,,,,
0002 guitare 20 2
0003 piano 15 4
0001 flute 25 5
la ligne ou figure 0001 doit passer en 1er
comment faire svp je suis perdu
merci d'avoir pris le temps de lire ce message
aiglon74
---------------
aiglon74