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

cherche une valeur et decale d'une colonne

9 réponses
Avatar
JBF
Bonjour à tous,

J'ai récupéré ce bout de code sur le net et ai ajouté la dernière ligne
Activecell :

Sub aller_à()

If Not [A1] Is Nothing Then
Cells.Find(What:=[A1].Value, After:=ActiveCell, LookIn:=xlFormulas, LookAt:=
_
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:=False _
, SearchFormat:=False).Activate
ActiveCell.Offset(0, 1).Select
End If
End Sub

le but consiste à pointer la ligne où est la valeur qui correspond à ce qui
est saisi en A1 et à décaler le curseur d'une colonne vers la droite.
Bêtement, je n'arrive pas à correctement modifier ce code pour que ce soit
la valeur la cellule situé en feuille2 et en A4 qui fasse office de
référence et non plus "A1"

Qq'un peut me donner le solution svp?

Merci
JBF

9 réponses

Avatar
FFO
Salut à toi

Essaies ceci :

Sub aller_à()

If Not [A1] Is Nothing Then
Cells.Find(What:=Sheets("Feuil2").[A4].Value, After:¬tiveCell,
LookIn:=xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:úlse _
, SearchFormat:úlse).Activate
ActiveCell.Offset(0, 1).Select
End If
End Sub

Celà devrait faire
Dis moi !!!
Avatar
JBF
salut,

merci d'avoir essayé mais ça ne marche pas.
lorsque je saisi une valeur en "A4" de "feuil2" la macro décale le curseur
en "B5" de "feuil2" et ce quelque soit la valeur que je renseigne en "A4".

tu vois le problème?

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

Salut à toi

Essaies ceci :

Sub aller_à()

If Not [A1] Is Nothing Then
Cells.Find(What:=Sheets("Feuil2").[A4].Value, After:¬tiveCell,
LookIn:=xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:úlse _
, SearchFormat:úlse).Activate
ActiveCell.Offset(0, 1).Select
End If
End Sub

Celà devrait faire
Dis moi !!!



Avatar
JBF
Rectification:
la macro décale le curseur en "B4" de "feuil2" pas en "B5".


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

salut,

merci d'avoir essayé mais ça ne marche pas.
lorsque je saisi une valeur en "A4" de "feuil2" la macro décale le curseur
en "B5" de "feuil2" et ce quelque soit la valeur que je renseigne en "A4".

tu vois le problème?

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

Salut à toi

Essaies ceci :

Sub aller_à()

If Not [A1] Is Nothing Then
Cells.Find(What:=Sheets("Feuil2").[A4].Value, After:¬tiveCell,
LookIn:=xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:úlse _
, SearchFormat:úlse).Activate
ActiveCell.Offset(0, 1).Select
End If
End Sub

Celà devrait faire
Dis moi !!!







Avatar
FFO
Rebonjours à toi
Tel que j'ai compris ta demande tu souhaitais rechercher une valeur dans la
Feuil1
valeur à récupérer en Feuil2 cellule A4 et de décaler d'une cellule vers la
droite la
cellule ainsi trouver de la Feuil1

Ais je mal compris ???
C'est que fais ton code actuellement mais avec la valeur A1 de ta Feuil1
comme valeur de recherche

Si celà ne correspond pas à ton attente merci de me préciser :

Où doit se faire la recherche et quel décalage doit on réaliser (nombre de
colonnes ou de lignes et dans quelle feuil)
Avec quel valeur (Feuil et cellule à prendre en considération)

Merci de m'apporter les précisions
Avatar
JBF
re,

Je vais essayer d'être plus clair.

Feuille 1, colonne A j'ai plusieurs valeurs de A1 à A20.

Je voudrais que quand en Feuille 2, cellule A4 une valeur est saisie et
qu'elle correspond à l'une des valeurs contenues dans la Feuille1, cellules
A1:A20, ça place le curseur sur la ligne (valeur) correspondante en feuille1
colonne A et que ça déplace le curseur d'une colonne vers la droite donc en
colonne B.

Ai-je été plus clair? ;)

Merci pour ton aide
JBF

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

Rebonjours à toi
Tel que j'ai compris ta demande tu souhaitais rechercher une valeur dans
la
Feuil1
valeur à récupérer en Feuil2 cellule A4 et de décaler d'une cellule vers
la
droite la
cellule ainsi trouver de la Feuil1

Ais je mal compris ???
C'est que fais ton code actuellement mais avec la valeur A1 de ta Feuil1
comme valeur de recherche

Si celà ne correspond pas à ton attente merci de me préciser :

Où doit se faire la recherche et quel décalage doit on réaliser (nombre de
colonnes ou de lignes et dans quelle feuil)
Avec quel valeur (Feuil et cellule à prendre en considération)

Merci de m'apporter les précisions




Avatar
FFO
Rebonjour à toi

Si tu as mis mon code dans le VBA de la feuil1 tu dois obtenir exactement ce
résultat
Attention d'aller regarder le résultat en Feuil1 et non en Feuil2


Refais des essais et dis moi !!!!
Avatar
JBF
Pardon d'insister mais ça ne marche pas!
J'ai mis ta macro dans un module et je l'ai affecter à un bouton qui se
trouve sur la feuille 2.

En A4 de le Feuille2 lorsque je saisi par exemple le chiffre 6 et que je
clique sur le bouton en FEUILLE1 le curseur ne vise ni le chiffre 6 présent
sur la 5eme ligne de la colonne A ni ne se décale d'une colonne. Le curseur
reste là où il a été laissé la dernière fois qui dans mon cas est en cellule
A18 pour être précis.

Cette macro fonctionne de ton côté???

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

Rebonjour à toi

Si tu as mis mon code dans le VBA de la feuil1 tu dois obtenir exactement
ce
résultat
Attention d'aller regarder le résultat en Feuil1 et non en Feuil2


Refais des essais et dis moi !!!!



Avatar
FFO
Rebonjour à toi

Attention je suis parti du principe que tes manipulations devait être
effectuées à partir de la Feuil1
Le code en l'état éxécute les instructions sur la feuille active
J'ai simplement indiqué le paramètre de recherche en cellule 4 de la Feuil2 :

What:=Sheets("Feuil2").[A4].Value

Toutes les autres instructions se déroulent à partir de la feuille Active

Si tu actives la macro par le biais d'un bouton situé en Feuil2 le code se
déroulera pour la Feuil2 donc ira chercher le paramètre colonne A Feuil2 et
décalera d'une cellule à droite sur cette Feuille

Je n'ai fais que reprendre ton code initial et de rajouter la précision du
paramètre de recherche en Feuil2 cellule A4

Si tu souhaites donc fonctionner avec ton bouton Feuil2 il faut rajouter au
code en début cette ligne :

Sheets("Feuil1").Activate

qui aura pour effet d'activer la feuil1 celle qui doit être prise en
considération par les instructions du code

Ce qui donne au final :

Sheets("Feuil1").Activate
If Not [A1] Is Nothing Then
Cells.Find(What:=Sheets("Feuil2").[A4].Value, After:¬tiveCell,
LookIn:=xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:úlse _
, SearchFormat:úlse).Activate
ActiveCell.Offset(0, 1).Select
End If
End Sub

Celà devrait maintenant mieux fonctionner

Dis moi !!!!
Avatar
JBF
:) vu comme ça marche bcp mieux!
Désolé de t'avoir fait perdre ton temps et merci pour ta patience :)

JBF

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

Rebonjour à toi

Attention je suis parti du principe que tes manipulations devait être
effectuées à partir de la Feuil1
Le code en l'état éxécute les instructions sur la feuille active
J'ai simplement indiqué le paramètre de recherche en cellule 4 de la
Feuil2 :

What:=Sheets("Feuil2").[A4].Value

Toutes les autres instructions se déroulent à partir de la feuille Active

Si tu actives la macro par le biais d'un bouton situé en Feuil2 le code se
déroulera pour la Feuil2 donc ira chercher le paramètre colonne A Feuil2
et
décalera d'une cellule à droite sur cette Feuille

Je n'ai fais que reprendre ton code initial et de rajouter la précision du
paramètre de recherche en Feuil2 cellule A4

Si tu souhaites donc fonctionner avec ton bouton Feuil2 il faut rajouter
au
code en début cette ligne :

Sheets("Feuil1").Activate

qui aura pour effet d'activer la feuil1 celle qui doit être prise en
considération par les instructions du code

Ce qui donne au final :

Sheets("Feuil1").Activate
If Not [A1] Is Nothing Then
Cells.Find(What:=Sheets("Feuil2").[A4].Value, After:¬tiveCell,
LookIn:=xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:úlse _
, SearchFormat:úlse).Activate
ActiveCell.Offset(0, 1).Select
End If
End Sub

Celà devrait maintenant mieux fonctionner

Dis moi !!!!