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

application.match sur un autre feuillet

3 réponses
Avatar
daniel
Envoi de 21H36 loupé...
Re-bonsoir,
Je re-poste mon message de 19 H 11, car je crains que si les messages
apparaissent avec une réponse, on pense qu'il est résolu, mais dans mon cas,
il semble qu'Isabelle est dû s'absenter....
Donc,

Bonsoir,
C'est sur le MPFE que l'on m'a donné la macro ci-dessous (enfin il n'y en a
qu'une partie), qui fonctionne très bien... encore merci.
Mais je souhaiterais aujourd'hui, que la recherche se fasse dans une liste
nommée, mais qui se trouve dans un autre onglet, et là, cela ne fonctionne
pas. Après recherche dans l'aide Excel, je n'ai même pas trouvé
application.match.
Mes questions sont : comment faire la recherche dans une liste nommée, mais
se trouvant dans un autre feuillet et comment faire une recherche efficace
dans l'aide Excel pour ce type de fonction "Application.match".

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim Ligne
......
If Target.Column = 4 And Target.Row > 3 And Target.Value > 0 Then
Ligne = Application.Match(Target.Value, Range("PAD"), 0)
If Not IsNumeric(Ligne) Then
On Error Resume Next
MsgBox Target.Value & " : ce critère ne fait pas partie de
la liste."
Exit Sub
Else
Target.Offset(0, -1).Value =
WorksheetFunction.Index(Range("VEIN"), Ligne, 1)
End If
End If
.....
End sub

Par avance, merci pour les réponses que vous pourrez me donner.
Bonne soirée.

DanielH

3 réponses

Avatar
Daniel.C
Bonsoir.
1. Ecris le comme ça (je ne sais pas pourquoi ça plante avec ta syntaxe) :

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim Ligne
If Target.Column = 4 And Target.Row > 3 And Target.Value > 0 Then
Ligne = Application.Match(Target.Value, [PAD], 0)
If Not IsNumeric(Ligne) Then
On Error Resume Next
MsgBox Target.Value & " : ce critère ne fait pas partie de
la liste."
Exit Sub
Else
Target.Offset(0, -1).Value = _
WorksheetFunction.Index(Range("VEIN"), Ligne, 1)
End If
End If
End Sub

2. Mon aide Excel 2007 est nulle, mais quand je clique sur "match" et que
j'appuie sur F1, elle me mène à "WorkSheetFunction.Match". Moyennant quoi,
il est préférable d'écrire "Application.Match", il parait qu'il y a déjà eu
des problèmes avec la première syntaxe. Tu peux même écrire
"Application.WorkSheetFunction.Match" si tu aimes porter des ceintures et
des bretelles ;-)))
Daniel (aussi)
"daniel" a écrit dans le message de news:

Envoi de 21H36 loupé...
Re-bonsoir,
Je re-poste mon message de 19 H 11, car je crains que si les messages
apparaissent avec une réponse, on pense qu'il est résolu, mais dans mon
cas,
il semble qu'Isabelle est dû s'absenter....
Donc,

Bonsoir,
C'est sur le MPFE que l'on m'a donné la macro ci-dessous (enfin il n'y en
a
qu'une partie), qui fonctionne très bien... encore merci.
Mais je souhaiterais aujourd'hui, que la recherche se fasse dans une liste
nommée, mais qui se trouve dans un autre onglet, et là, cela ne fonctionne
pas. Après recherche dans l'aide Excel, je n'ai même pas trouvé
application.match.
Mes questions sont : comment faire la recherche dans une liste nommée,
mais
se trouvant dans un autre feuillet et comment faire une recherche efficace
dans l'aide Excel pour ce type de fonction "Application.match".

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim Ligne
......
If Target.Column = 4 And Target.Row > 3 And Target.Value > 0 Then
Ligne = Application.Match(Target.Value, Range("PAD"), 0)
If Not IsNumeric(Ligne) Then
On Error Resume Next
MsgBox Target.Value & " : ce critère ne fait pas partie de
la liste."
Exit Sub
Else
Target.Offset(0, -1).Value > WorksheetFunction.Index(Range("VEIN"), Ligne, 1)
End If
End If
.....
End sub

Par avance, merci pour les réponses que vous pourrez me donner.
Bonne soirée.

DanielH





Avatar
Misange
Envoi de 21H36 loupé...
Re-bonsoir,
Je re-poste mon message de 19 H 11, car je crains que si les messages
apparaissent avec une réponse, on pense qu'il est résolu, mais dans mon cas,
il semble qu'Isabelle est dû s'absenter....
Stop !

merci de ne pas faire ça ! c'est le meilleur moyen d'avoir plusieurs
ficelles sur le même sujet avec des bouts de réponse éparpillés et de
mettre la pagaille dans le forum.
Je t'ai mis la réponse à ta deuxième question dans ton fil précédent.
Laisse à Isabelle, ou a d'autres, le temps de répondre et sois rassuré,
ce n'est pas parce qu'il y a une réponse qu'un sujet est clos.

--
Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Avatar
JB
Bonjour,


Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Column = 4 And Target.Row > 3 And Target.Value > 0 Then
Ligne = Application.Match(Target.Value, Sheets("feuil3").[PAD], 0)
If IsError(Ligne) Then
MsgBox Target.Value & " : ce critère ne fait pas partie de la
liste."
Else
Target.Offset(0, -1).Value = Application.Index(Sheets("feuil3").
[VEIN], Ligne, 1)
End If
End If
End Sub

http://cjoint.com/?dogZPkEXal

JB
http://boisgontierjacques.free.fr/



On 13 mar, 21:50, "daniel" wrote:
Envoi de 21H36 loupé...
Re-bonsoir,
Je re-poste mon message de 19 H 11, car je crains que si les messages
apparaissent avec une réponse, on pense qu'il est résolu, mais dans mo n cas,
il semble qu'Isabelle est dû s'absenter....
Donc,

Bonsoir,
C'est sur le MPFE que l'on m'a donné la macro ci-dessous (enfin il n'y e n a
qu'une partie), qui fonctionne très bien... encore merci.
Mais je souhaiterais aujourd'hui, que la recherche se fasse dans une liste
nommée, mais qui se trouve dans un autre onglet, et là, cela ne foncti onne
pas. Après recherche dans l'aide Excel, je n'ai même pas trouvé
application.match.
Mes questions sont : comment faire la recherche dans une liste nommée, m ais
se trouvant dans un autre feuillet et comment faire une recherche efficace
dans l'aide Excel pour ce type de fonction "Application.match".

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
    Dim Ligne
......
If Target.Column = 4 And Target.Row > 3 And Target.Value > 0 Then
    Ligne = Application.Match(Target.Value, Range("PAD"), 0)
        If Not IsNumeric(Ligne) Then
            On Error Resume Next
                MsgBox Target.Value & " : ce critère ne fait pas partie de
la liste."
            Exit Sub
        Else
            Target.Offset(0, -1).Value =
WorksheetFunction.Index(Range("VEIN"), Ligne, 1)
            End If
        End If
.....
End sub

Par avance, merci pour les réponses que vous pourrez me donner.
Bonne soirée.

DanielH