Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

atteindre une cellule

17 réponses
Avatar
sdellaux
tout d'abord meilleurs voeux =E0 tous pour cette nouvelle ann=E9e :

quelle solution pour :

dans un classeur j'ai deux feuille feuille1 feuille2

en feuille 1 une base de donn=E9e ; en colonne B les r=E9f=E9rences des
articles dans l'ordre chronologique b3 =3D1; b4=3D2; br=3D3 etc...

dans la feuille 2 je souhaiterai que lorsque je tape une r=E9f=E9rence
d'un article exemple 565 (dans la cellule L4) lorsque je tape sur la
touche enter, le d=E9placement vers la cellule contenant la r=E9f=E9rence
565 dans la feuille 1 se fasse automatiquement vers cette cellule

Merci par avance
st=E9phane

10 réponses

1 2
Avatar
FFO
Salut à toi

Meilleurs voeux aussi !!!!

Ce bout de code dans le VBA de la feuil :

Private Sub Worksheet_Change(ByVal Target As Range)
For i = 1 To Len(Target)
If "0123456789" Like "*" & Mid(Target, i, 1) & "*" Then
n = n + 1
End If
Next
If n = Len(Target) Then
Sheets("Feuil1").Activate
Sheets("Feuil1").Columns("B:B").Find(What:=Target, After:=Range("B1"),
LookIn:=xlFormulas, _
LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:úlse, SearchFormat:úlse).Activate
End If
End Sub

Peut être ta solution


tout d'abord meilleurs voeux à tous pour cette nouvelle année :

quelle solution pour :

dans un classeur j'ai deux feuille feuille1 feuille2

en feuille 1 une base de donnée ; en colonne B les références des
articles dans l'ordre chronologique b3 =1; b4=2; br=3 etc...

dans la feuille 2 je souhaiterai que lorsque je tape une référence
d'un article exemple 565 (dans la cellule L4) lorsque je tape sur la
touche enter, le déplacement vers la cellule contenant la référence
565 dans la feuille 1 se fasse automatiquement vers cette cellule

Merci par avance
stéphane



Avatar
Carim
Bonjour,

En feuille 2 :

Private Sub Worksheet_Change(ByVal Target As Range)
Dim ref As Range
Set ref = Feuil1.Cells.Find(What:=Target.Value, After:¬tiveCell,
LookIn:=xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:úlse)
Application.Goto ref
End Sub

A +
Avatar
Jean-Paul GIORGETTI
Bonjour,

Cela me semble parfait Carim.

Je pense néanmoins qu'il faut préciser la cellule de départ de la recherche
pour éviter de sélectionner une valeur approchante.
'After := feuil1.range("B3")' par exemple

Cordialement,

Jean-Paul

"Carim" a écrit dans le message de news:

Bonjour,

En feuille 2 :

Private Sub Worksheet_Change(ByVal Target As Range)
Dim ref As Range
Set ref = Feuil1.Cells.Find(What:=Target.Value, After:¬tiveCell,
LookIn:=xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:úlse)
Application.Goto ref
End Sub

A +


Avatar
sdellaux
merci j'ai bien inseré la VBA ci dessous
mais après avoir tapé une référence le visual basic s'ouvre et me
donne message erreur suivant ;
première ligne :
Private Sub Worksheet_Change(ByVal Target As Range) surlignée en jaune


et

Sheets("Feuil1").Columns("B:B").Find(What:=Target, After:=Range("B1"),
LookIn:=xlFormulas, _
LookAt:=xlWhole, SearchOrder:=xlByRows,
SearchDirection:=xlNext, _
MatchCase:lse, SearchFormat:lse).Activate
tout en rouge

Ai je fais une erreur ?
désolé par avance
stéphane

On 2 jan, 09:34, Carim wrote:
Bonjour,

En feuille 2 :

Private Sub Worksheet_Change(ByVal Target As Range)
Dim ref As Range
Set ref = Feuil1.Cells.Find(What:=Target.Value, After:tiveCell,
LookIn:=xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:lse)
Application.Goto ref
End Sub

A +


Avatar
sdellaux
Idem pour cette vba recopiée en feuille 2
dès la copie
depuis Set ref ....jusqu'à lse) tout apparait en rouge.
au premier essais ouverture de la vba avec message :
erreur compilation
Que doisje faire ? ou qu'est ce que je fais mal ?
merci
stéphane

En feuille 2 :

Private Sub Worksheet_Change(ByVal Target As Range)
Dim ref As Range
Set ref = Feuil1.Cells.Find(What:=Target.Value, After:tiveCell,
LookIn:=xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:lse)
Application.Goto ref
End Sub

A +


Avatar
Mgr Banni
bonjour stéphane
tu es victime de la coupure de lignes de cette messagerie
tu fais en sorte que depuis "Set ref ....jusqu'à úlse" soit sur une même
ligne
et ça devrait rouler
HTH
Mgr T.B.
PS quand tu seras sorti du noviciat, je t'apprendrai comment, en VBA, on
fait un retour à la ligne

"sdellaux" a écrit dans le message de news:

Idem pour cette vba recopiée en feuille 2
dès la copie
depuis Set ref ....jusqu'à úlse) tout apparait en rouge.
au premier essais ouverture de la vba avec message :
erreur compilation
Que doisje faire ? ou qu'est ce que je fais mal ?
merci
stéphane

En feuille 2 :

Private Sub Worksheet_Change(ByVal Target As Range)
Dim ref As Range
Set ref = Feuil1.Cells.Find(What:=Target.Value, After:¬tiveCell,
LookIn:=xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:úlse)
Application.Goto ref
End Sub

A +


Avatar
lSteph
Bonjour,

Sans oeuf fait misme que Mgr Banni qui t'as mis sur la bonne voie
(c'est son métier)
Repère bien là où il y a du Rouge
c'est le moment où il ne faut pas couper,
sinon on reste sur sa soif devant l'éternel
problème que cela pose!

;o))

--
lSteph

On 2 jan, 15:51, sdellaux wrote:
Idem pour cette vba recopiée en feuille 2
dès la copie
depuis Set ref ....jusqu'à lse) tout apparait en rouge.
au premier essais ouverture de la vba avec message :
erreur compilation
Que doisje faire ? ou qu'est ce que je fais mal ?
merci
stéphane

En feuille 2 :

Private Sub Worksheet_Change(ByVal Target As Range)
Dim ref As Range
Set ref = Feuil1.Cells.Find(What:=Target.Value, After:tiveCell,
LookIn:=xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:lse)
Application.Goto ref
End Sub

A +




Avatar
sdellaux
rebonsoir j'y suis presque arrivé lolllllllllll
je recapitule
avec 1ere proposition je n'y arrive pas mais pas de probleme

avec la solution 2
je suis arrivé à avoir toute ma vba en noir.....quel exploit...!!!! à
inscrire dans le livre guiness des records....
mais cela ne marchait pas ...en fait en relisant la vba me suis
appercu que la référence de la feuille n'était pas la bonne de j'ai
modifié en conséquence...
donc maintenant quand je suis dans ma feuille 2 et que je tape en "L4"
une référence quelquonque de la feuille 1 impeccable je me retrouve
bien
dans la feuille 1.
MAIS Hélas il y a un Mais
par exemple je tape référence 853 et je me retrouve à la ligne
852....!!!!!!
GRRRRRRRR !!!!! pourquoi avec moi cela ne marche t il pas du premier
coup ,,,,,,,??????
merci encore une fois par avance de toute votre aide
stéphane


au cas ou cela vous servirait dans ma feuille 1 (celle de la base de
données j'ai en haut 2 lignes de titres (ligne 1 et ligne2) et les
volets sont fermés de manière à avoir tjrs visible mes deux lignes de
titres)
On 2 jan, 16:40, "Mgr Banni" wrote:
bonjour stéphane
tu es victime de la coupure de lignes de cette messagerie
tu fais en sorte que depuis "Set ref ....jusqu'à lse" soit sur une même
ligne
et ça devrait rouler
HTH
Mgr T.B.
PS quand tu seras sorti du noviciat, je t'apprendrai comment, en VBA, on
fait un retour à la ligne



Avatar
sdellaux
N'est il pas possible à l'intérieur de la VBA de rajouter "+1"
quelquepart de manière à ce le déplacement se fasse bien sur la
cellule désirée ???
Pas une bonne idée n'est ce pas ??? lol
stéphane
PS mais j'essaye par moi même de comprendre et de trouver les
solutions
mais soyez sans crainte ce n'est pas encore demain que je vais donner
ici des cours de VBA ..pour moi VBA veut dire encore Very Bad
Apprenti....


On 2 jan, 16:40, "Mgr Banni" wrote:
bonjour stéphane
tu es victime de la coupure de lignes de cette messagerie
tu fais en sorte que depuis "Set ref ....jusqu'à lse" soit sur une même
ligne
et ça devrait rouler
HTH
Mgr T.B.
PS quand tu seras sorti du noviciat, je t'apprendrai comment, en VBA, on
fait un retour à la ligne




Avatar
sdellaux
EUREKA...........
J'ai trouvé la cause de mon malheur
en fait dans la feuille 1 et dans la colonne B ou se trouve toutes les
references, comme elles sont nombreuses plus de 4000...
j'ai mis la petite formule par exemple en b2 = b1+1
et que j'ai recopié vers le bas
donc effectivement la vba lit bien la bonne reference mais elle arrive
une ligne plus haut...
comment contourner ce petit aléas compte tenu que je ne me sens pas le
courage de rentrer manuellement 4000 référence à la main
merci encore une fois
stéphane
ps en esperant ne pas trop venir pertuber un sommeil réparateur....lol
1 2