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

row?

6 réponses
Avatar
man77
Bonjour,
Un ptit peu d'aide svp...
Voilà j'ai un pas de programme pour chercher un code dans une feuille... ça fonctionne bien... mais seulement quand je suis dans la feuille active.
Comment faire pour que ça fonctionne dans n'importe quelle feuille?
Merci de m'aider.
Sub test()
Dim Numéro As String, Ligne As Long
Dim CelluleTrouvée As Range, Col As Integer
Numéro = ["fg280410"]
With Worksheets("Feuil2")
Set CelluleTrouvée = .Range("b4:c122").Find(What:=Numéro, _
LookIn:=xlValues, LookAt:=xlWhole)
End With
If CelluleTrouvée Is Nothing Then
MsgBox "pas trouvé"
Else
Ligne = CelluleTrouvée.Row
Col = CelluleTrouvée.Column + 2
toto = Cells(Ligne, Col).Value
MsgBox ("trouvé : ligne = " & Ligne & " , colonne = " & Col)
Worksheets("Feuil1").Range("F25") = toto
MsgBox "La valeur trouvée """ & toto & """" & " a été copié en feuil1, cellule F25."
End If
End Sub
Lorsque je suis en feuil1 ... rien ne se passe...
@++

6 réponses

Avatar
Péhemme
Bonjour Man77

Si ta macro est dans un module, au lieu de :
With Worksheets("Feuil2")
tu écris :
With ActiveSheet
Michel



"man77" a écrit dans le message de
news:
Bonjour,
Un ptit peu d'aide svp...
Voilà j'ai un pas de programme pour chercher un code dans une feuille...
ça
fonctionne bien... mais seulement quand je suis dans la feuille active.
Comment faire pour que ça fonctionne dans n'importe quelle feuille?
Merci de m'aider.
Sub test()
Dim Numéro As String, Ligne As Long
Dim CelluleTrouvée As Range, Col As Integer
Numéro = ["fg280410"]
With Worksheets("Feuil2")
Set CelluleTrouvée = .Range("b4:c122").Find(What:=Numéro, _
LookIn:=xlValues, LookAt:=xlWhole)
End With
If CelluleTrouvée Is Nothing Then
MsgBox "pas trouvé"
Else
Ligne = CelluleTrouvée.Row
Col = CelluleTrouvée.Column + 2
toto = Cells(Ligne, Col).Value
MsgBox ("trouvé : ligne = " & Ligne & " , colonne = " & Col)
Worksheets("Feuil1").Range("F25") = toto
MsgBox "La valeur trouvée """ & toto & """" & " a été copié en feuil1,
cellule
F25."
End If
End Sub
Lorsque je suis en feuil1 ... rien ne se passe...
@++
Avatar
Péhemme
Je n'avais pas lu ta macro.
Ne fais surtout pas ce que j'ai indiqué ; en effet, tu copies des éléments
de la Feuil2 (source) sur la Feuil1 (cible)
Si je comprends bien, tu veux lancer ta macro en étant sur ta Feuil1.
Peux-tu au préalable vérifier que ta macro est dans un module.

Michel



"man77" a écrit dans le message de
news:
Bonjour,
Un ptit peu d'aide svp...
Voilà j'ai un pas de programme pour chercher un code dans une feuille...
ça
fonctionne bien... mais seulement quand je suis dans la feuille active.
Comment faire pour que ça fonctionne dans n'importe quelle feuille?
Merci de m'aider.
Sub test()
Dim Numéro As String, Ligne As Long
Dim CelluleTrouvée As Range, Col As Integer
Numéro = ["fg280410"]
With Worksheets("Feuil2")
Set CelluleTrouvée = .Range("b4:c122").Find(What:=Numéro, _
LookIn:=xlValues, LookAt:=xlWhole)
End With
If CelluleTrouvée Is Nothing Then
MsgBox "pas trouvé"
Else
Ligne = CelluleTrouvée.Row
Col = CelluleTrouvée.Column + 2
toto = Cells(Ligne, Col).Value
MsgBox ("trouvé : ligne = " & Ligne & " , colonne = " & Col)
Worksheets("Feuil1").Range("F25") = toto
MsgBox "La valeur trouvée """ & toto & """" & " a été copié en feuil1,
cellule
F25."
End If
End Sub
Lorsque je suis en feuil1 ... rien ne se passe...
@++
Avatar
man77
Péhemme a écrit le 29/09/2011 à 17h12 :
Je n'avais pas lu ta macro.
Ne fais surtout pas ce que j'ai indiqué ; en effet, tu copies des
éléments
de la Feuil2 (source) sur la Feuil1 (cible)
Si je comprends bien, tu veux lancer ta macro en étant sur ta Feuil1.
Peux-tu au préalable vérifier que ta macro est dans un module.

Michel



"man77" a écrit
dans le message de
news:
Bonjour,
Un ptit peu d'aide svp...
Voilà j'ai un pas de programme pour chercher un code dans une
feuille...
ça
fonctionne bien... mais seulement quand je suis dans la feuille active.
Comment faire pour que ça fonctionne dans n'importe quelle feuille?
Merci de m'aider.
Sub test()
Dim Numéro As String, Ligne As Long
Dim CelluleTrouvée As Range, Col As Integer
Numéro = ["fg280410"]
With Worksheets("Feuil2")
Set CelluleTrouvée =
.Range("b4:c122").Find(What:=Numéro, _
LookIn:=xlValues, LookAt:=xlWhole)
End With
If CelluleTrouvée Is Nothing Then
MsgBox "pas trouvé"
Else
Ligne = CelluleTrouvée.Row
Col = CelluleTrouvée.Column + 2
toto = Cells(Ligne, Col).Value
MsgBox ("trouvé : ligne = " & Ligne & " ,
colonne = " & Col)
Worksheets("Feuil1").Range("F25") = toto
MsgBox "La valeur trouvée """ & toto &
"""" & " a été copié en
feuil1,
cellule
F25."
End If
End Sub
Lorsque je suis en feuil1 ... rien ne se passe...
@++




Oui...
Je suis dan un module.
Merci de votre aide...
Avatar
Péhemme
Essaie comme cela :
Sub test()
Dim Numéro As String, Ligne As Long
Dim CelluleTrouvée As Range, Col As Integer
Dim toto
Numéro = ["fg280410"]
With Worksheets("Feuil2")
Set CelluleTrouvée = .Range("b4:c122").Find(What:=Numéro, _
LookIn:=xlValues, LookAt:=xlWhole)

If CelluleTrouvée Is Nothing Then
MsgBox "pas trouvé"
Else
Ligne = CelluleTrouvée.Row
Col = CelluleTrouvée.Column + 2
toto = .Cells(Ligne, Col).Value
MsgBox ("trouvé : ligne = " & Ligne & " , colonne = " & Col)
Worksheets("Feuil1").Range("F25") = toto
MsgBox "La valeur trouvée """ & toto & """" & " a été copié en
feuil1, cellule F25."
End If
End With
End Sub

Michel



"man77" a écrit dans le message de
news:
Péhemme a écrit le 29/09/2011 à 17h12 :
Je n'avais pas lu ta macro.
Ne fais surtout pas ce que j'ai indiqué ; en effet, tu copies des
éléments
de la Feuil2 (source) sur la Feuil1 (cible)
Si je comprends bien, tu veux lancer ta macro en étant sur ta Feuil1.
Peux-tu au préalable vérifier que ta macro est dans un module.

Michel



"man77" a écrit
dans le message de
news:
Bonjour,
Un ptit peu d'aide svp...
Voilà j'ai un pas de programme pour chercher un code dans une
feuille...
ça
fonctionne bien... mais seulement quand je suis dans la feuille active.
Comment faire pour que ça fonctionne dans n'importe quelle feuille?
Merci de m'aider.
Sub test()
Dim Numéro As String, Ligne As Long
Dim CelluleTrouvée As Range, Col As Integer
Numéro = ["fg280410"]
With Worksheets("Feuil2")
Set CelluleTrouvée >>> .Range("b4:c122").Find(What:=Numéro, _
LookIn:=xlValues, LookAt:=xlWhole)
End With
If CelluleTrouvée Is Nothing Then
MsgBox "pas trouvé"
Else
Ligne = CelluleTrouvée.Row
Col = CelluleTrouvée.Column + 2
toto = Cells(Ligne, Col).Value
MsgBox ("trouvé : ligne = " & Ligne & " ,
colonne = " & Col)
Worksheets("Feuil1").Range("F25") = toto
MsgBox "La valeur trouvée """ & toto &
"""" & " a été copié en
feuil1,
cellule
F25."
End If
End Sub
Lorsque je suis en feuil1 ... rien ne se passe...
@++




Oui...
Je suis dan un module.
Merci de votre aide...
Avatar
MichD
Bonjour,

La macro fait une recherche sur une plage en Feuil2 et si elle trouve,
le résultat se retrouve dans une cellule de la Feuil1.

La macro peut être lancée de n'importe quelle feuille, mais
elle fait toujours le même travail tel qu'énoncé précédemment. Si tu désires
qu'elle fasse autre chose quand tu es dans une autre feuille du classeur, il
faudrait d'abord que tu énonces clairement ce que tu désires effectuer.


MichD
------------------------------------------
"man77" a écrit dans le message de groupe de discussion :

Bonjour,
Un ptit peu d'aide svp...
Voilà j'ai un pas de programme pour chercher un code dans une feuille... ça
fonctionne bien... mais seulement quand je suis dans la feuille active.
Comment faire pour que ça fonctionne dans n'importe quelle feuille?
Merci de m'aider.
Sub test()
Dim Numéro As String, Ligne As Long
Dim CelluleTrouvée As Range, Col As Integer
Numéro = ["fg280410"]
With Worksheets("Feuil2")
Set CelluleTrouvée = .Range("b4:c122").Find(What:=Numéro, _
LookIn:=xlValues, LookAt:=xlWhole)
End With
If CelluleTrouvée Is Nothing Then
MsgBox "pas trouvé"
Else
Ligne = CelluleTrouvée.Row
Col = CelluleTrouvée.Column + 2
toto = Cells(Ligne, Col).Value
MsgBox ("trouvé : ligne = " & Ligne & " , colonne = " & Col)
Worksheets("Feuil1").Range("F25") = toto
MsgBox "La valeur trouvée """ & toto & """" & " a été copié en feuil1, cellule
F25."
End If
End Sub
Lorsque je suis en feuil1 ... rien ne se passe...
@++
Avatar
man77
MichD a écrit le 29/09/2011 à 19h48 :
Bonjour,

La macro fait une recherche sur une plage en Feuil2 et si elle trouve,
le résultat se retrouve dans une cellule de la Feuil1.

La macro peut être lancée de n'importe quelle feuille, mais
elle fait toujours le même travail tel qu'énoncé
précédemment. Si tu désires
qu'elle fasse autre chose quand tu es dans une autre feuille du classeur, il
faudrait d'abord que tu énonces clairement ce que tu désires
effectuer.


MichD
------------------------------------------
"man77" a écrit dans le message de groupe de discussion :


Bonjour,
Un ptit peu d'aide svp...
Voilà j'ai un pas de programme pour chercher un code dans une feuille...
ça
fonctionne bien... mais seulement quand je suis dans la feuille active.
Comment faire pour que ça fonctionne dans n'importe quelle feuille?
Merci de m'aider.
Sub test()
Dim Numéro As String, Ligne As Long
Dim CelluleTrouvée As Range, Col As Integer
Numéro = ["fg280410"]
With Worksheets("Feuil2")
Set CelluleTrouvée =
.Range("b4:c122").Find(What:=Numéro, _
LookIn:=xlValues, LookAt:=xlWhole)
End With
If CelluleTrouvée Is Nothing Then
MsgBox "pas trouvé"
Else
Ligne = CelluleTrouvée.Row
Col = CelluleTrouvée.Column + 2
toto = Cells(Ligne, Col).Value
MsgBox ("trouvé : ligne = " & Ligne & " , colonne
= " & Col)
Worksheets("Feuil1").Range("F25") = toto
MsgBox "La valeur trouvée """ & toto &
"""" & " a été copié en
feuil1, cellule
F25."
End If
End Sub
Lorsque je suis en feuil1 ... rien ne se passe...
@++


Merci à tous pour votre aide.
ça fonctionne :-)
Merci et bonne continuation