row?
Le
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
@++
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
@++
Si ta macro est dans un module, au lieu de :
With Worksheets("Feuil2")
tu écris :
With ActiveSheet
Michel
"man77" news:
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" news:
Oui...
Je suis dan un module.
Merci de votre aide...
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" news:
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