bonjour,
j'ai une liste en feuille 1 qui va de A10 - BD10 a A1795 - BD1795
Je voudrais faire par macro une extraction (copie selon un critere)
en gros sur ma feuille 2 en cellule a1 je tappe un mot et quand je valide
je veux chercher ce mot dans la plage précitée en feuille 1
et que de D1 a D1785 s'affiche la ligne ou le mot tappe aura ete trouvé.
je vois bien comment faire la recherche avec la fonction LIKE mais ne sais
pas comment rappatrier la ligne entiere et la copier sur la feuille 2
si vous pouviez m'aider svp
--
nico
bonjour,
j'ai une liste en feuille 1 qui va de A10 - BD10 a A1795 - BD1795
Je voudrais faire par macro une extraction (copie selon un critere)
en gros sur ma feuille 2 en cellule a1 je tappe un mot et quand je valide
je veux chercher ce mot dans la plage précitée en feuille 1
et que de D1 a D1785 s'affiche la ligne ou le mot tappe aura ete trouvé.
je vois bien comment faire la recherche avec la fonction LIKE mais ne sais
pas comment rappatrier la ligne entiere et la copier sur la feuille 2
si vous pouviez m'aider svp
--
nico
bonjour,
j'ai une liste en feuille 1 qui va de A10 - BD10 a A1795 - BD1795
Je voudrais faire par macro une extraction (copie selon un critere)
en gros sur ma feuille 2 en cellule a1 je tappe un mot et quand je valide
je veux chercher ce mot dans la plage précitée en feuille 1
et que de D1 a D1785 s'affiche la ligne ou le mot tappe aura ete trouvé.
je vois bien comment faire la recherche avec la fonction LIKE mais ne sais
pas comment rappatrier la ligne entiere et la copier sur la feuille 2
si vous pouviez m'aider svp
--
nico
Bonjour Nico,
Avec la plage de données Feuil1!A10:BD1795 nommée ici Zn
dans la feuille de code de l'onglet Feuil2
Private Sub Worksheet_Change(ByVal Target As Range)
Dim nL As Long
Application.ScreenUpdating = False
If Target.Address = "$A$1" And Not IsEmpty(Target) Then
With Sheets("Feuil1")
.Select
On Error Resume Next
[Zn].Find(what:=Target).Activate
If Err.Number <> 0 Then
Sheets("Feuil2").Select
Application.ScreenUpdating = True
MsgBox "Pas trouvé !"
End
Else
nL = Selection.Row
.Range("D" & nL & ":AB" & nL).Copy _
(Sheets("Feuil2").Range("D" & nL - 9))
Sheets("Feuil2").Select
End If
End With
Else: Exit Sub
End If
End Sub
ChrisV
"nico" a écrit dans le message de news:bonjour,
j'ai une liste en feuille 1 qui va de A10 - BD10 a A1795 - BD1795
Je voudrais faire par macro une extraction (copie selon un critere)
en gros sur ma feuille 2 en cellule a1 je tappe un mot et quand je valide
je veux chercher ce mot dans la plage précitée en feuille 1
et que de D1 a D1785 s'affiche la ligne ou le mot tappe aura ete trouvé.
je vois bien comment faire la recherche avec la fonction LIKE mais ne
sais
pas comment rappatrier la ligne entiere et la copier sur la feuille 2
si vous pouviez m'aider svp
--
nico
Bonjour Nico,
Avec la plage de données Feuil1!A10:BD1795 nommée ici Zn
dans la feuille de code de l'onglet Feuil2
Private Sub Worksheet_Change(ByVal Target As Range)
Dim nL As Long
Application.ScreenUpdating = False
If Target.Address = "$A$1" And Not IsEmpty(Target) Then
With Sheets("Feuil1")
.Select
On Error Resume Next
[Zn].Find(what:=Target).Activate
If Err.Number <> 0 Then
Sheets("Feuil2").Select
Application.ScreenUpdating = True
MsgBox "Pas trouvé !"
End
Else
nL = Selection.Row
.Range("D" & nL & ":AB" & nL).Copy _
(Sheets("Feuil2").Range("D" & nL - 9))
Sheets("Feuil2").Select
End If
End With
Else: Exit Sub
End If
End Sub
ChrisV
"nico" <nico@discussions.microsoft.com> a écrit dans le message de news:
6636E349-985B-4BF2-968E-DC04C33FAF04@microsoft.com...
bonjour,
j'ai une liste en feuille 1 qui va de A10 - BD10 a A1795 - BD1795
Je voudrais faire par macro une extraction (copie selon un critere)
en gros sur ma feuille 2 en cellule a1 je tappe un mot et quand je valide
je veux chercher ce mot dans la plage précitée en feuille 1
et que de D1 a D1785 s'affiche la ligne ou le mot tappe aura ete trouvé.
je vois bien comment faire la recherche avec la fonction LIKE mais ne
sais
pas comment rappatrier la ligne entiere et la copier sur la feuille 2
si vous pouviez m'aider svp
--
nico
Bonjour Nico,
Avec la plage de données Feuil1!A10:BD1795 nommée ici Zn
dans la feuille de code de l'onglet Feuil2
Private Sub Worksheet_Change(ByVal Target As Range)
Dim nL As Long
Application.ScreenUpdating = False
If Target.Address = "$A$1" And Not IsEmpty(Target) Then
With Sheets("Feuil1")
.Select
On Error Resume Next
[Zn].Find(what:=Target).Activate
If Err.Number <> 0 Then
Sheets("Feuil2").Select
Application.ScreenUpdating = True
MsgBox "Pas trouvé !"
End
Else
nL = Selection.Row
.Range("D" & nL & ":AB" & nL).Copy _
(Sheets("Feuil2").Range("D" & nL - 9))
Sheets("Feuil2").Select
End If
End With
Else: Exit Sub
End If
End Sub
ChrisV
"nico" a écrit dans le message de news:bonjour,
j'ai une liste en feuille 1 qui va de A10 - BD10 a A1795 - BD1795
Je voudrais faire par macro une extraction (copie selon un critere)
en gros sur ma feuille 2 en cellule a1 je tappe un mot et quand je valide
je veux chercher ce mot dans la plage précitée en feuille 1
et que de D1 a D1785 s'affiche la ligne ou le mot tappe aura ete trouvé.
je vois bien comment faire la recherche avec la fonction LIKE mais ne
sais
pas comment rappatrier la ligne entiere et la copier sur la feuille 2
si vous pouviez m'aider svp
--
nico
Bonjour Nico,
Avec la plage de données Feuil1!A10:BD1795 nommée ici Zn
dans la feuille de code de l'onglet Feuil2
Private Sub Worksheet_Change(ByVal Target As Range)
Dim nL As Long
Application.ScreenUpdating = False
If Target.Address = "$A$1" And Not IsEmpty(Target) Then
With Sheets("Feuil1")
.Select
On Error Resume Next
[Zn].Find(what:=Target).Activate
If Err.Number <> 0 Then
Sheets("Feuil2").Select
Application.ScreenUpdating = True
MsgBox "Pas trouvé !"
End
Else
nL = Selection.Row
.Range("D" & nL & ":AB" & nL).Copy _
(Sheets("Feuil2").Range("D" & nL - 9))
Sheets("Feuil2").Select
End If
End With
Else: Exit Sub
End If
End Sub
ChrisV
"nico" a écrit dans le message de news:bonjour,
j'ai une liste en feuille 1 qui va de A10 - BD10 a A1795 - BD1795
Je voudrais faire par macro une extraction (copie selon un critere)
en gros sur ma feuille 2 en cellule a1 je tappe un mot et quand je valide
je veux chercher ce mot dans la plage précitée en feuille 1
et que de D1 a D1785 s'affiche la ligne ou le mot tappe aura ete trouvé.
je vois bien comment faire la recherche avec la fonction LIKE mais ne sais
pas comment rappatrier la ligne entiere et la copier sur la feuille 2
si vous pouviez m'aider svp
--
nico
Bonjour Nico,
Avec la plage de données Feuil1!A10:BD1795 nommée ici Zn
dans la feuille de code de l'onglet Feuil2
Private Sub Worksheet_Change(ByVal Target As Range)
Dim nL As Long
Application.ScreenUpdating = False
If Target.Address = "$A$1" And Not IsEmpty(Target) Then
With Sheets("Feuil1")
.Select
On Error Resume Next
[Zn].Find(what:=Target).Activate
If Err.Number <> 0 Then
Sheets("Feuil2").Select
Application.ScreenUpdating = True
MsgBox "Pas trouvé !"
End
Else
nL = Selection.Row
.Range("D" & nL & ":AB" & nL).Copy _
(Sheets("Feuil2").Range("D" & nL - 9))
Sheets("Feuil2").Select
End If
End With
Else: Exit Sub
End If
End Sub
ChrisV
"nico" <nico@discussions.microsoft.com> a écrit dans le message de news:
6636E349-985B-4BF2-968E-DC04C33FAF04@microsoft.com...
bonjour,
j'ai une liste en feuille 1 qui va de A10 - BD10 a A1795 - BD1795
Je voudrais faire par macro une extraction (copie selon un critere)
en gros sur ma feuille 2 en cellule a1 je tappe un mot et quand je valide
je veux chercher ce mot dans la plage précitée en feuille 1
et que de D1 a D1785 s'affiche la ligne ou le mot tappe aura ete trouvé.
je vois bien comment faire la recherche avec la fonction LIKE mais ne sais
pas comment rappatrier la ligne entiere et la copier sur la feuille 2
si vous pouviez m'aider svp
--
nico
Bonjour Nico,
Avec la plage de données Feuil1!A10:BD1795 nommée ici Zn
dans la feuille de code de l'onglet Feuil2
Private Sub Worksheet_Change(ByVal Target As Range)
Dim nL As Long
Application.ScreenUpdating = False
If Target.Address = "$A$1" And Not IsEmpty(Target) Then
With Sheets("Feuil1")
.Select
On Error Resume Next
[Zn].Find(what:=Target).Activate
If Err.Number <> 0 Then
Sheets("Feuil2").Select
Application.ScreenUpdating = True
MsgBox "Pas trouvé !"
End
Else
nL = Selection.Row
.Range("D" & nL & ":AB" & nL).Copy _
(Sheets("Feuil2").Range("D" & nL - 9))
Sheets("Feuil2").Select
End If
End With
Else: Exit Sub
End If
End Sub
ChrisV
"nico" a écrit dans le message de news:bonjour,
j'ai une liste en feuille 1 qui va de A10 - BD10 a A1795 - BD1795
Je voudrais faire par macro une extraction (copie selon un critere)
en gros sur ma feuille 2 en cellule a1 je tappe un mot et quand je valide
je veux chercher ce mot dans la plage précitée en feuille 1
et que de D1 a D1785 s'affiche la ligne ou le mot tappe aura ete trouvé.
je vois bien comment faire la recherche avec la fonction LIKE mais ne sais
pas comment rappatrier la ligne entiere et la copier sur la feuille 2
si vous pouviez m'aider svp
--
nico
merci de ta reponse qui m'a mis sur la piste
apres quelques petites correction ca fonctionne a merveille.
Private Sub Worksheet_Change(ByVal Target As Range)
'declaration de variable
Dim nL As Long
'Application.ScreenUpdating = False
Application.ScreenUpdating = True
If Target.Address = "$A$1" And Not IsEmpty(Target) Then
With Sheets("Feuil1").Select
'si feuil1 n'existe pas on annule la macro
On Error Resume Next
'recherche occurence
[Zn].Find(what:=Target).Activate
'message au cas ou la recherche ne donne rien
If Err.Number <> 0 Then
Sheets("Feuil2").Select
Application.ScreenUpdating = True
MsgBox "Aucune Occurence Touvée !"
End
Else
nL = Selection.Row
'pour une plage de recherche sur les colonnes A à BD
'copiées en feuille 2 en plae D1 a G1785
Sheets("Feuil1").Range("A" & nL & ":BD" & nL).Copy _
(Sheets("Feuil2").Range("D1:G1785"))
'retour en feuil2
Sheets("Feuil2").Select
End If
End With
Else: Exit Sub
End If
End Sub
--
nicoBonjour Nico,
Avec la plage de données Feuil1!A10:BD1795 nommée ici Zn
dans la feuille de code de l'onglet Feuil2
Private Sub Worksheet_Change(ByVal Target As Range)
Dim nL As Long
Application.ScreenUpdating = False
If Target.Address = "$A$1" And Not IsEmpty(Target) Then
With Sheets("Feuil1")
.Select
On Error Resume Next
[Zn].Find(what:=Target).Activate
If Err.Number <> 0 Then
Sheets("Feuil2").Select
Application.ScreenUpdating = True
MsgBox "Pas trouvé !"
End
Else
nL = Selection.Row
.Range("D" & nL & ":AB" & nL).Copy _
(Sheets("Feuil2").Range("D" & nL - 9))
Sheets("Feuil2").Select
End If
End With
Else: Exit Sub
End If
End Sub
ChrisV
"nico" a écrit dans le message de news:bonjour,
j'ai une liste en feuille 1 qui va de A10 - BD10 a A1795 - BD1795
Je voudrais faire par macro une extraction (copie selon un critere)
en gros sur ma feuille 2 en cellule a1 je tappe un mot et quand je valide
je veux chercher ce mot dans la plage précitée en feuille 1
et que de D1 a D1785 s'affiche la ligne ou le mot tappe aura ete trouvé.
je vois bien comment faire la recherche avec la fonction LIKE mais ne sais
pas comment rappatrier la ligne entiere et la copier sur la feuille 2
si vous pouviez m'aider svp
--
nico
merci de ta reponse qui m'a mis sur la piste
apres quelques petites correction ca fonctionne a merveille.
Private Sub Worksheet_Change(ByVal Target As Range)
'declaration de variable
Dim nL As Long
'Application.ScreenUpdating = False
Application.ScreenUpdating = True
If Target.Address = "$A$1" And Not IsEmpty(Target) Then
With Sheets("Feuil1").Select
'si feuil1 n'existe pas on annule la macro
On Error Resume Next
'recherche occurence
[Zn].Find(what:=Target).Activate
'message au cas ou la recherche ne donne rien
If Err.Number <> 0 Then
Sheets("Feuil2").Select
Application.ScreenUpdating = True
MsgBox "Aucune Occurence Touvée !"
End
Else
nL = Selection.Row
'pour une plage de recherche sur les colonnes A à BD
'copiées en feuille 2 en plae D1 a G1785
Sheets("Feuil1").Range("A" & nL & ":BD" & nL).Copy _
(Sheets("Feuil2").Range("D1:G1785"))
'retour en feuil2
Sheets("Feuil2").Select
End If
End With
Else: Exit Sub
End If
End Sub
--
nico
Bonjour Nico,
Avec la plage de données Feuil1!A10:BD1795 nommée ici Zn
dans la feuille de code de l'onglet Feuil2
Private Sub Worksheet_Change(ByVal Target As Range)
Dim nL As Long
Application.ScreenUpdating = False
If Target.Address = "$A$1" And Not IsEmpty(Target) Then
With Sheets("Feuil1")
.Select
On Error Resume Next
[Zn].Find(what:=Target).Activate
If Err.Number <> 0 Then
Sheets("Feuil2").Select
Application.ScreenUpdating = True
MsgBox "Pas trouvé !"
End
Else
nL = Selection.Row
.Range("D" & nL & ":AB" & nL).Copy _
(Sheets("Feuil2").Range("D" & nL - 9))
Sheets("Feuil2").Select
End If
End With
Else: Exit Sub
End If
End Sub
ChrisV
"nico" <nico@discussions.microsoft.com> a écrit dans le message de news:
6636E349-985B-4BF2-968E-DC04C33FAF04@microsoft.com...
bonjour,
j'ai une liste en feuille 1 qui va de A10 - BD10 a A1795 - BD1795
Je voudrais faire par macro une extraction (copie selon un critere)
en gros sur ma feuille 2 en cellule a1 je tappe un mot et quand je valide
je veux chercher ce mot dans la plage précitée en feuille 1
et que de D1 a D1785 s'affiche la ligne ou le mot tappe aura ete trouvé.
je vois bien comment faire la recherche avec la fonction LIKE mais ne sais
pas comment rappatrier la ligne entiere et la copier sur la feuille 2
si vous pouviez m'aider svp
--
nico
merci de ta reponse qui m'a mis sur la piste
apres quelques petites correction ca fonctionne a merveille.
Private Sub Worksheet_Change(ByVal Target As Range)
'declaration de variable
Dim nL As Long
'Application.ScreenUpdating = False
Application.ScreenUpdating = True
If Target.Address = "$A$1" And Not IsEmpty(Target) Then
With Sheets("Feuil1").Select
'si feuil1 n'existe pas on annule la macro
On Error Resume Next
'recherche occurence
[Zn].Find(what:=Target).Activate
'message au cas ou la recherche ne donne rien
If Err.Number <> 0 Then
Sheets("Feuil2").Select
Application.ScreenUpdating = True
MsgBox "Aucune Occurence Touvée !"
End
Else
nL = Selection.Row
'pour une plage de recherche sur les colonnes A à BD
'copiées en feuille 2 en plae D1 a G1785
Sheets("Feuil1").Range("A" & nL & ":BD" & nL).Copy _
(Sheets("Feuil2").Range("D1:G1785"))
'retour en feuil2
Sheets("Feuil2").Select
End If
End With
Else: Exit Sub
End If
End Sub
--
nicoBonjour Nico,
Avec la plage de données Feuil1!A10:BD1795 nommée ici Zn
dans la feuille de code de l'onglet Feuil2
Private Sub Worksheet_Change(ByVal Target As Range)
Dim nL As Long
Application.ScreenUpdating = False
If Target.Address = "$A$1" And Not IsEmpty(Target) Then
With Sheets("Feuil1")
.Select
On Error Resume Next
[Zn].Find(what:=Target).Activate
If Err.Number <> 0 Then
Sheets("Feuil2").Select
Application.ScreenUpdating = True
MsgBox "Pas trouvé !"
End
Else
nL = Selection.Row
.Range("D" & nL & ":AB" & nL).Copy _
(Sheets("Feuil2").Range("D" & nL - 9))
Sheets("Feuil2").Select
End If
End With
Else: Exit Sub
End If
End Sub
ChrisV
"nico" a écrit dans le message de news:bonjour,
j'ai une liste en feuille 1 qui va de A10 - BD10 a A1795 - BD1795
Je voudrais faire par macro une extraction (copie selon un critere)
en gros sur ma feuille 2 en cellule a1 je tappe un mot et quand je valide
je veux chercher ce mot dans la plage précitée en feuille 1
et que de D1 a D1785 s'affiche la ligne ou le mot tappe aura ete trouvé.
je vois bien comment faire la recherche avec la fonction LIKE mais ne sais
pas comment rappatrier la ligne entiere et la copier sur la feuille 2
si vous pouviez m'aider svp
--
nico
Oups...
p'tite coquille...
replacer la ligne
..Range("D" & nL & ":AB" & nL).Copy _
par
..Range("D" & nL & ":BD" & nL).Copy _
ChrisV
"ChrisV" a écrit dans le message de news:Bonjour Nico,
Avec la plage de données Feuil1!A10:BD1795 nommée ici Zn
dans la feuille de code de l'onglet Feuil2
Private Sub Worksheet_Change(ByVal Target As Range)
Dim nL As Long
Application.ScreenUpdating = False
If Target.Address = "$A$1" And Not IsEmpty(Target) Then
With Sheets("Feuil1")
.Select
On Error Resume Next
[Zn].Find(what:=Target).Activate
If Err.Number <> 0 Then
Sheets("Feuil2").Select
Application.ScreenUpdating = True
MsgBox "Pas trouvé !"
End
Else
nL = Selection.Row
.Range("D" & nL & ":AB" & nL).Copy _
(Sheets("Feuil2").Range("D" & nL - 9))
Sheets("Feuil2").Select
End If
End With
Else: Exit Sub
End If
End Sub
ChrisV
"nico" a écrit dans le message de news:bonjour,
j'ai une liste en feuille 1 qui va de A10 - BD10 a A1795 - BD1795
Je voudrais faire par macro une extraction (copie selon un critere)
en gros sur ma feuille 2 en cellule a1 je tappe un mot et quand je valide
je veux chercher ce mot dans la plage précitée en feuille 1
et que de D1 a D1785 s'affiche la ligne ou le mot tappe aura ete trouvé.
je vois bien comment faire la recherche avec la fonction LIKE mais ne
sais
pas comment rappatrier la ligne entiere et la copier sur la feuille 2
si vous pouviez m'aider svp
--
nico
Oups...
p'tite coquille...
replacer la ligne
..Range("D" & nL & ":AB" & nL).Copy _
par
..Range("D" & nL & ":BD" & nL).Copy _
ChrisV
"ChrisV" <chrisv@microsoftgroups.org> a écrit dans le message de news:
eJJQAgChFHA.2152@TK2MSFTNGP14.phx.gbl...
Bonjour Nico,
Avec la plage de données Feuil1!A10:BD1795 nommée ici Zn
dans la feuille de code de l'onglet Feuil2
Private Sub Worksheet_Change(ByVal Target As Range)
Dim nL As Long
Application.ScreenUpdating = False
If Target.Address = "$A$1" And Not IsEmpty(Target) Then
With Sheets("Feuil1")
.Select
On Error Resume Next
[Zn].Find(what:=Target).Activate
If Err.Number <> 0 Then
Sheets("Feuil2").Select
Application.ScreenUpdating = True
MsgBox "Pas trouvé !"
End
Else
nL = Selection.Row
.Range("D" & nL & ":AB" & nL).Copy _
(Sheets("Feuil2").Range("D" & nL - 9))
Sheets("Feuil2").Select
End If
End With
Else: Exit Sub
End If
End Sub
ChrisV
"nico" <nico@discussions.microsoft.com> a écrit dans le message de news:
6636E349-985B-4BF2-968E-DC04C33FAF04@microsoft.com...
bonjour,
j'ai une liste en feuille 1 qui va de A10 - BD10 a A1795 - BD1795
Je voudrais faire par macro une extraction (copie selon un critere)
en gros sur ma feuille 2 en cellule a1 je tappe un mot et quand je valide
je veux chercher ce mot dans la plage précitée en feuille 1
et que de D1 a D1785 s'affiche la ligne ou le mot tappe aura ete trouvé.
je vois bien comment faire la recherche avec la fonction LIKE mais ne
sais
pas comment rappatrier la ligne entiere et la copier sur la feuille 2
si vous pouviez m'aider svp
--
nico
Oups...
p'tite coquille...
replacer la ligne
..Range("D" & nL & ":AB" & nL).Copy _
par
..Range("D" & nL & ":BD" & nL).Copy _
ChrisV
"ChrisV" a écrit dans le message de news:Bonjour Nico,
Avec la plage de données Feuil1!A10:BD1795 nommée ici Zn
dans la feuille de code de l'onglet Feuil2
Private Sub Worksheet_Change(ByVal Target As Range)
Dim nL As Long
Application.ScreenUpdating = False
If Target.Address = "$A$1" And Not IsEmpty(Target) Then
With Sheets("Feuil1")
.Select
On Error Resume Next
[Zn].Find(what:=Target).Activate
If Err.Number <> 0 Then
Sheets("Feuil2").Select
Application.ScreenUpdating = True
MsgBox "Pas trouvé !"
End
Else
nL = Selection.Row
.Range("D" & nL & ":AB" & nL).Copy _
(Sheets("Feuil2").Range("D" & nL - 9))
Sheets("Feuil2").Select
End If
End With
Else: Exit Sub
End If
End Sub
ChrisV
"nico" a écrit dans le message de news:bonjour,
j'ai une liste en feuille 1 qui va de A10 - BD10 a A1795 - BD1795
Je voudrais faire par macro une extraction (copie selon un critere)
en gros sur ma feuille 2 en cellule a1 je tappe un mot et quand je valide
je veux chercher ce mot dans la plage précitée en feuille 1
et que de D1 a D1785 s'affiche la ligne ou le mot tappe aura ete trouvé.
je vois bien comment faire la recherche avec la fonction LIKE mais ne
sais
pas comment rappatrier la ligne entiere et la copier sur la feuille 2
si vous pouviez m'aider svp
--
nico
ne pas tenir compte du code de mon message precedent..
... mais il faut aussi mettre...
... bizarre
ne pas tenir compte du code de mon message precedent au final ca donne
cela
vous avez bien vu l'erreur de AD en BD mais il faut aussi mettre
Sheets("Feuil1").Range("A" & nL & ":BD" & nL).Copy _
a la place de
.Range("A" & nL & ":BD" & nL).Copy _
autrement il travail sur la feuil2 ce que je trouve bizarre vu qu'avant on
select la feuil1
mais chez moi impossible sans la modif.
Private Sub Worksheet_Change(ByVal Target As Range)
'declaration de variable
Dim nL As Long
Application.ScreenUpdating = False
If Target.Address = "$A$1" And Not IsEmpty(Target) Then
With Sheets("Feuil1").Select
'si feuil1 n'existe pas on annule la macro
On Error Resume Next
'recherche occurence
[Zn].Find(what:=Target).Activate
'message au cas ou la recherche ne donne rien
If Err.Number <> 0 Then
Sheets("Feuil2").Select
Application.ScreenUpdating = True
MsgBox "Aucune Occurence Touvée !"
End
Else
nL = Selection.Row
'pour une plage de recherche sur les colonnes A à BD
'copiées en feuille 2 en plae D1 a BD1785
Sheets("Feuil1").Range("A" & nL & ":BD" & nL).Copy _
(Sheets("Feuil2").Range("D1:BH1"))
'retour en feuil2
Sheets("Feuil2").Select
End If
End With
Else: Exit Sub
End If
End Sub
--
nicomerci de ta reponse qui m'a mis sur la piste
apres quelques petites correction ca fonctionne a merveille.
Private Sub Worksheet_Change(ByVal Target As Range)
'declaration de variable
Dim nL As Long
'Application.ScreenUpdating = False
Application.ScreenUpdating = True
If Target.Address = "$A$1" And Not IsEmpty(Target) Then
With Sheets("Feuil1").Select
'si feuil1 n'existe pas on annule la macro
On Error Resume Next
'recherche occurence
[Zn].Find(what:=Target).Activate
'message au cas ou la recherche ne donne rien
If Err.Number <> 0 Then
Sheets("Feuil2").Select
Application.ScreenUpdating = True
MsgBox "Aucune Occurence Touvée !"
End
Else
nL = Selection.Row
'pour une plage de recherche sur les colonnes A à BD
'copiées en feuille 2 en plae D1 a G1785
Sheets("Feuil1").Range("A" & nL & ":BD" & nL).Copy _
(Sheets("Feuil2").Range("D1:G1785"))
'retour en feuil2
Sheets("Feuil2").Select
End If
End With
Else: Exit Sub
End If
End Sub
--
nicoBonjour Nico,
Avec la plage de données Feuil1!A10:BD1795 nommée ici Zn
dans la feuille de code de l'onglet Feuil2
Private Sub Worksheet_Change(ByVal Target As Range)
Dim nL As Long
Application.ScreenUpdating = False
If Target.Address = "$A$1" And Not IsEmpty(Target) Then
With Sheets("Feuil1")
.Select
On Error Resume Next
[Zn].Find(what:=Target).Activate
If Err.Number <> 0 Then
Sheets("Feuil2").Select
Application.ScreenUpdating = True
MsgBox "Pas trouvé !"
End
Else
nL = Selection.Row
.Range("D" & nL & ":AB" & nL).Copy _
(Sheets("Feuil2").Range("D" & nL - 9))
Sheets("Feuil2").Select
End If
End With
Else: Exit Sub
End If
End Sub
ChrisV
"nico" a écrit dans le message de
news:bonjour,
j'ai une liste en feuille 1 qui va de A10 - BD10 a A1795 - BD1795
Je voudrais faire par macro une extraction (copie selon un critere)
en gros sur ma feuille 2 en cellule a1 je tappe un mot et quand je
valide
je veux chercher ce mot dans la plage précitée en feuille 1
et que de D1 a D1785 s'affiche la ligne ou le mot tappe aura ete
trouvé.
je vois bien comment faire la recherche avec la fonction LIKE mais ne
sais
pas comment rappatrier la ligne entiere et la copier sur la feuille 2
si vous pouviez m'aider svp
--
nico
ne pas tenir compte du code de mon message precedent..
... mais il faut aussi mettre...
... bizarre
ne pas tenir compte du code de mon message precedent au final ca donne
cela
vous avez bien vu l'erreur de AD en BD mais il faut aussi mettre
Sheets("Feuil1").Range("A" & nL & ":BD" & nL).Copy _
a la place de
.Range("A" & nL & ":BD" & nL).Copy _
autrement il travail sur la feuil2 ce que je trouve bizarre vu qu'avant on
select la feuil1
mais chez moi impossible sans la modif.
Private Sub Worksheet_Change(ByVal Target As Range)
'declaration de variable
Dim nL As Long
Application.ScreenUpdating = False
If Target.Address = "$A$1" And Not IsEmpty(Target) Then
With Sheets("Feuil1").Select
'si feuil1 n'existe pas on annule la macro
On Error Resume Next
'recherche occurence
[Zn].Find(what:=Target).Activate
'message au cas ou la recherche ne donne rien
If Err.Number <> 0 Then
Sheets("Feuil2").Select
Application.ScreenUpdating = True
MsgBox "Aucune Occurence Touvée !"
End
Else
nL = Selection.Row
'pour une plage de recherche sur les colonnes A à BD
'copiées en feuille 2 en plae D1 a BD1785
Sheets("Feuil1").Range("A" & nL & ":BD" & nL).Copy _
(Sheets("Feuil2").Range("D1:BH1"))
'retour en feuil2
Sheets("Feuil2").Select
End If
End With
Else: Exit Sub
End If
End Sub
--
nico
merci de ta reponse qui m'a mis sur la piste
apres quelques petites correction ca fonctionne a merveille.
Private Sub Worksheet_Change(ByVal Target As Range)
'declaration de variable
Dim nL As Long
'Application.ScreenUpdating = False
Application.ScreenUpdating = True
If Target.Address = "$A$1" And Not IsEmpty(Target) Then
With Sheets("Feuil1").Select
'si feuil1 n'existe pas on annule la macro
On Error Resume Next
'recherche occurence
[Zn].Find(what:=Target).Activate
'message au cas ou la recherche ne donne rien
If Err.Number <> 0 Then
Sheets("Feuil2").Select
Application.ScreenUpdating = True
MsgBox "Aucune Occurence Touvée !"
End
Else
nL = Selection.Row
'pour une plage de recherche sur les colonnes A à BD
'copiées en feuille 2 en plae D1 a G1785
Sheets("Feuil1").Range("A" & nL & ":BD" & nL).Copy _
(Sheets("Feuil2").Range("D1:G1785"))
'retour en feuil2
Sheets("Feuil2").Select
End If
End With
Else: Exit Sub
End If
End Sub
--
nico
Bonjour Nico,
Avec la plage de données Feuil1!A10:BD1795 nommée ici Zn
dans la feuille de code de l'onglet Feuil2
Private Sub Worksheet_Change(ByVal Target As Range)
Dim nL As Long
Application.ScreenUpdating = False
If Target.Address = "$A$1" And Not IsEmpty(Target) Then
With Sheets("Feuil1")
.Select
On Error Resume Next
[Zn].Find(what:=Target).Activate
If Err.Number <> 0 Then
Sheets("Feuil2").Select
Application.ScreenUpdating = True
MsgBox "Pas trouvé !"
End
Else
nL = Selection.Row
.Range("D" & nL & ":AB" & nL).Copy _
(Sheets("Feuil2").Range("D" & nL - 9))
Sheets("Feuil2").Select
End If
End With
Else: Exit Sub
End If
End Sub
ChrisV
"nico" <nico@discussions.microsoft.com> a écrit dans le message de
news:
6636E349-985B-4BF2-968E-DC04C33FAF04@microsoft.com...
bonjour,
j'ai une liste en feuille 1 qui va de A10 - BD10 a A1795 - BD1795
Je voudrais faire par macro une extraction (copie selon un critere)
en gros sur ma feuille 2 en cellule a1 je tappe un mot et quand je
valide
je veux chercher ce mot dans la plage précitée en feuille 1
et que de D1 a D1785 s'affiche la ligne ou le mot tappe aura ete
trouvé.
je vois bien comment faire la recherche avec la fonction LIKE mais ne
sais
pas comment rappatrier la ligne entiere et la copier sur la feuille 2
si vous pouviez m'aider svp
--
nico
ne pas tenir compte du code de mon message precedent..
... mais il faut aussi mettre...
... bizarre
ne pas tenir compte du code de mon message precedent au final ca donne
cela
vous avez bien vu l'erreur de AD en BD mais il faut aussi mettre
Sheets("Feuil1").Range("A" & nL & ":BD" & nL).Copy _
a la place de
.Range("A" & nL & ":BD" & nL).Copy _
autrement il travail sur la feuil2 ce que je trouve bizarre vu qu'avant on
select la feuil1
mais chez moi impossible sans la modif.
Private Sub Worksheet_Change(ByVal Target As Range)
'declaration de variable
Dim nL As Long
Application.ScreenUpdating = False
If Target.Address = "$A$1" And Not IsEmpty(Target) Then
With Sheets("Feuil1").Select
'si feuil1 n'existe pas on annule la macro
On Error Resume Next
'recherche occurence
[Zn].Find(what:=Target).Activate
'message au cas ou la recherche ne donne rien
If Err.Number <> 0 Then
Sheets("Feuil2").Select
Application.ScreenUpdating = True
MsgBox "Aucune Occurence Touvée !"
End
Else
nL = Selection.Row
'pour une plage de recherche sur les colonnes A à BD
'copiées en feuille 2 en plae D1 a BD1785
Sheets("Feuil1").Range("A" & nL & ":BD" & nL).Copy _
(Sheets("Feuil2").Range("D1:BH1"))
'retour en feuil2
Sheets("Feuil2").Select
End If
End With
Else: Exit Sub
End If
End Sub
--
nicomerci de ta reponse qui m'a mis sur la piste
apres quelques petites correction ca fonctionne a merveille.
Private Sub Worksheet_Change(ByVal Target As Range)
'declaration de variable
Dim nL As Long
'Application.ScreenUpdating = False
Application.ScreenUpdating = True
If Target.Address = "$A$1" And Not IsEmpty(Target) Then
With Sheets("Feuil1").Select
'si feuil1 n'existe pas on annule la macro
On Error Resume Next
'recherche occurence
[Zn].Find(what:=Target).Activate
'message au cas ou la recherche ne donne rien
If Err.Number <> 0 Then
Sheets("Feuil2").Select
Application.ScreenUpdating = True
MsgBox "Aucune Occurence Touvée !"
End
Else
nL = Selection.Row
'pour une plage de recherche sur les colonnes A à BD
'copiées en feuille 2 en plae D1 a G1785
Sheets("Feuil1").Range("A" & nL & ":BD" & nL).Copy _
(Sheets("Feuil2").Range("D1:G1785"))
'retour en feuil2
Sheets("Feuil2").Select
End If
End With
Else: Exit Sub
End If
End Sub
--
nicoBonjour Nico,
Avec la plage de données Feuil1!A10:BD1795 nommée ici Zn
dans la feuille de code de l'onglet Feuil2
Private Sub Worksheet_Change(ByVal Target As Range)
Dim nL As Long
Application.ScreenUpdating = False
If Target.Address = "$A$1" And Not IsEmpty(Target) Then
With Sheets("Feuil1")
.Select
On Error Resume Next
[Zn].Find(what:=Target).Activate
If Err.Number <> 0 Then
Sheets("Feuil2").Select
Application.ScreenUpdating = True
MsgBox "Pas trouvé !"
End
Else
nL = Selection.Row
.Range("D" & nL & ":AB" & nL).Copy _
(Sheets("Feuil2").Range("D" & nL - 9))
Sheets("Feuil2").Select
End If
End With
Else: Exit Sub
End If
End Sub
ChrisV
"nico" a écrit dans le message de
news:bonjour,
j'ai une liste en feuille 1 qui va de A10 - BD10 a A1795 - BD1795
Je voudrais faire par macro une extraction (copie selon un critere)
en gros sur ma feuille 2 en cellule a1 je tappe un mot et quand je
valide
je veux chercher ce mot dans la plage précitée en feuille 1
et que de D1 a D1785 s'affiche la ligne ou le mot tappe aura ete
trouvé.
je vois bien comment faire la recherche avec la fonction LIKE mais ne
sais
pas comment rappatrier la ligne entiere et la copier sur la feuille 2
si vous pouviez m'aider svp
--
nico