Bonjour à tous
J'ai un tableau de données(15col * 250 Lig(modifiable))
Je sélectionne un mot à travers un inputbox
Je voudrais que toutes les lignes qui ne comprennent PAS ce mot soit cachées
et éventuellement copiées dans une feuille rajoutée automatiquement les
lignes ou ce mot est contenu.
Merci et bonne journée
JJ
Bonjour à tous
J'ai un tableau de données(15col * 250 Lig(modifiable))
Je sélectionne un mot à travers un inputbox
Je voudrais que toutes les lignes qui ne comprennent PAS ce mot soit cachées
et éventuellement copiées dans une feuille rajoutée automatiquement les
lignes ou ce mot est contenu.
Merci et bonne journée
JJ
Bonjour à tous
J'ai un tableau de données(15col * 250 Lig(modifiable))
Je sélectionne un mot à travers un inputbox
Je voudrais que toutes les lignes qui ne comprennent PAS ce mot soit cachées
et éventuellement copiées dans une feuille rajoutée automatiquement les
lignes ou ce mot est contenu.
Merci et bonne journée
JJ
Il y a peut être une piste de réponse à ta question (qui s'est donc collée
à la suite d'un fil initié le
03/12/2003)
Chez moi, il est apparu dans le bon fil, mais à 17:27
Bonjour Jacky,
Il y a peut être une piste de réponse à ta question (qui s'est donc collée
à la suite d'un fil initié le
03/12/2003)
avec l'utilisation du filtre, tout du moins pour ce qui est de masquer ;
tout dépends si le mot peut se
trouver dans n'importe quelle colonne ou toujours dans la même.
Par ailleurs, n'oublie pas que l'enregistreur de macros est ton ami.
--
Amicales Salutations
Retirer A_S_ pour répondre.
XL97 / XL2002
Pour suivre le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)
"Jacky" a écrit dans le message de
news:%23z%Bonjour à tous
J'ai un tableau de données(15col * 250 Lig(modifiable))
Je sélectionne un mot à travers un inputbox
Je voudrais que toutes les lignes qui ne comprennent PAS ce mot soit
cachées
et éventuellement copiées dans une feuille rajoutée automatiquement les
lignes ou ce mot est contenu.
Merci et bonne journée
JJ
Il y a peut être une piste de réponse à ta question (qui s'est donc collée
à la suite d'un fil initié le
03/12/2003)
Chez moi, il est apparu dans le bon fil, mais à 17:27
Bonjour Jacky,
Il y a peut être une piste de réponse à ta question (qui s'est donc collée
à la suite d'un fil initié le
03/12/2003)
avec l'utilisation du filtre, tout du moins pour ce qui est de masquer ;
tout dépends si le mot peut se
trouver dans n'importe quelle colonne ou toujours dans la même.
Par ailleurs, n'oublie pas que l'enregistreur de macros est ton ami.
--
Amicales Salutations
A_S_rauphil@wanadoo.fr
Retirer A_S_ pour répondre.
XL97 / XL2002
Pour suivre le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)
"Jacky" <Jackyenlevez.jaeg@wanadoo.fr> a écrit dans le message de
news:%23z%23wGqo4DHA.1052@TK2MSFTNGP12.phx.gbl...
Bonjour à tous
J'ai un tableau de données(15col * 250 Lig(modifiable))
Je sélectionne un mot à travers un inputbox
Je voudrais que toutes les lignes qui ne comprennent PAS ce mot soit
cachées
et éventuellement copiées dans une feuille rajoutée automatiquement les
lignes ou ce mot est contenu.
Merci et bonne journée
JJ
Il y a peut être une piste de réponse à ta question (qui s'est donc collée
à la suite d'un fil initié le
03/12/2003)
Chez moi, il est apparu dans le bon fil, mais à 17:27
Bonjour Jacky,
Il y a peut être une piste de réponse à ta question (qui s'est donc collée
à la suite d'un fil initié le
03/12/2003)
avec l'utilisation du filtre, tout du moins pour ce qui est de masquer ;
tout dépends si le mot peut se
trouver dans n'importe quelle colonne ou toujours dans la même.
Par ailleurs, n'oublie pas que l'enregistreur de macros est ton ami.
--
Amicales Salutations
Retirer A_S_ pour répondre.
XL97 / XL2002
Pour suivre le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)
"Jacky" a écrit dans le message de
news:%23z%Bonjour à tous
J'ai un tableau de données(15col * 250 Lig(modifiable))
Je sélectionne un mot à travers un inputbox
Je voudrais que toutes les lignes qui ne comprennent PAS ce mot soit
cachées
et éventuellement copiées dans une feuille rajoutée automatiquement les
lignes ou ce mot est contenu.
Merci et bonne journée
JJ
Bonjour à tous
J'ai un tableau de données(15col * 250 Lig(modifiable))
Je sélectionne un mot à travers un inputbox
Je voudrais que toutes les lignes qui ne comprennent PAS ce mot soit cachées
et éventuellement copiées dans une feuille rajoutée automatiquement les
lignes ou ce mot est contenu.
Merci et bonne journée
JJ
Bonjour à tous
J'ai un tableau de données(15col * 250 Lig(modifiable))
Je sélectionne un mot à travers un inputbox
Je voudrais que toutes les lignes qui ne comprennent PAS ce mot soit cachées
et éventuellement copiées dans une feuille rajoutée automatiquement les
lignes ou ce mot est contenu.
Merci et bonne journée
JJ
Bonjour à tous
J'ai un tableau de données(15col * 250 Lig(modifiable))
Je sélectionne un mot à travers un inputbox
Je voudrais que toutes les lignes qui ne comprennent PAS ce mot soit cachées
et éventuellement copiées dans une feuille rajoutée automatiquement les
lignes ou ce mot est contenu.
Merci et bonne journée
JJ
If Application.CountIf _
(Source.Range("A" & i & ":O" & i), "*" & Mot & "*") > 0 Then
Libre = Cible.Cells(Rows.Count, "A").End(xlUp).Row + 1
Cible.Range("A" & Libre & ":O" & Libre).Value = _
Source.Range("A" & i & ":O" & i).Value
End
Bonjour,
Bonjour à tous
J'ai un tableau de données(15col * 250 Lig(modifiable))
Je sélectionne un mot à travers un inputbox
Je voudrais que toutes les lignes qui ne comprennent PAS ce mot soit
cachées
Ce code peut faire cela :
Sub ChercheEtCache()
Dim DerLi&, i&, Libre&, Mot$
Mot = InputBox("Mot à chercher :")
If Mot = "" Then Exit Sub
DerLi = Cells(Rows.Count, "A").End(xlUp).Row
For i = DerLi To 2 Step -1
If Application.CountIf _
(Range("A" & i & ":O" & i), "*" & Mot & "*") = 0 Then
Range("A" & i).EntireRow.Hidden = True
End If
Next i
If Cells(Rows.Count, "A").End(xlUp).Row = 1 Then
Cells.EntireRow.Hidden = False
MsgBox "'" & Mot & "' n'a pas été trouvé !"
End If
End Subet éventuellement copiées dans une feuille rajoutée automatiquement les
lignes ou ce mot est contenu.
Pour cette alternative, utilise plutôt ce code :
Sub ChercheEtCopie()
Dim DerLi&, i&, Libre&, Mot$
Dim Source As Worksheet, Cible As Worksheet
Mot = InputBox("Mot à chercher :")
If Mot = "" Then Exit Sub
Set Source = ActiveSheet
Sheets.Add
Set Cible = ActiveSheet
Cible.Range("A1:O1").Value = Source.Range("A1:O1").Value
DerLi = Source.Cells(Rows.Count, "A").End(xlUp).Row
For i = DerLi To 2 Step -1
If Application.CountIf _
(Source.Range("A" & i & ":O" & i), "*" & Mot & "*") > 0 Then
Libre = Cible.Cells(Rows.Count, "A").End(xlUp).Row + 1
Cible.Range("A" & Libre & ":O" & Libre).Value = _
Source.Range("A" & i & ":O" & i).Value
End If
Next i
If Cible.Cells(Rows.Count, "A").End(xlUp).Row = 1 Then
Application.DisplayAlerts = False
Cible.Delete
Application.DisplayAlerts = True
MsgBox "'" & Mot & "' n'a pas été trouvé !"
End If
End SubMerci et bonne journée
JJ
FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !
If Application.CountIf _
(Source.Range("A" & i & ":O" & i), "*" & Mot & "*") > 0 Then
Libre = Cible.Cells(Rows.Count, "A").End(xlUp).Row + 1
Cible.Range("A" & Libre & ":O" & Libre).Value = _
Source.Range("A" & i & ":O" & i).Value
End
Bonjour,
Bonjour à tous
J'ai un tableau de données(15col * 250 Lig(modifiable))
Je sélectionne un mot à travers un inputbox
Je voudrais que toutes les lignes qui ne comprennent PAS ce mot soit
cachées
Ce code peut faire cela :
Sub ChercheEtCache()
Dim DerLi&, i&, Libre&, Mot$
Mot = InputBox("Mot à chercher :")
If Mot = "" Then Exit Sub
DerLi = Cells(Rows.Count, "A").End(xlUp).Row
For i = DerLi To 2 Step -1
If Application.CountIf _
(Range("A" & i & ":O" & i), "*" & Mot & "*") = 0 Then
Range("A" & i).EntireRow.Hidden = True
End If
Next i
If Cells(Rows.Count, "A").End(xlUp).Row = 1 Then
Cells.EntireRow.Hidden = False
MsgBox "'" & Mot & "' n'a pas été trouvé !"
End If
End Sub
et éventuellement copiées dans une feuille rajoutée automatiquement les
lignes ou ce mot est contenu.
Pour cette alternative, utilise plutôt ce code :
Sub ChercheEtCopie()
Dim DerLi&, i&, Libre&, Mot$
Dim Source As Worksheet, Cible As Worksheet
Mot = InputBox("Mot à chercher :")
If Mot = "" Then Exit Sub
Set Source = ActiveSheet
Sheets.Add
Set Cible = ActiveSheet
Cible.Range("A1:O1").Value = Source.Range("A1:O1").Value
DerLi = Source.Cells(Rows.Count, "A").End(xlUp).Row
For i = DerLi To 2 Step -1
If Application.CountIf _
(Source.Range("A" & i & ":O" & i), "*" & Mot & "*") > 0 Then
Libre = Cible.Cells(Rows.Count, "A").End(xlUp).Row + 1
Cible.Range("A" & Libre & ":O" & Libre).Value = _
Source.Range("A" & i & ":O" & i).Value
End If
Next i
If Cible.Cells(Rows.Count, "A").End(xlUp).Row = 1 Then
Application.DisplayAlerts = False
Cible.Delete
Application.DisplayAlerts = True
MsgBox "'" & Mot & "' n'a pas été trouvé !"
End If
End Sub
Merci et bonne journée
JJ
FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !
If Application.CountIf _
(Source.Range("A" & i & ":O" & i), "*" & Mot & "*") > 0 Then
Libre = Cible.Cells(Rows.Count, "A").End(xlUp).Row + 1
Cible.Range("A" & Libre & ":O" & Libre).Value = _
Source.Range("A" & i & ":O" & i).Value
End
Bonjour,
Bonjour à tous
J'ai un tableau de données(15col * 250 Lig(modifiable))
Je sélectionne un mot à travers un inputbox
Je voudrais que toutes les lignes qui ne comprennent PAS ce mot soit
cachées
Ce code peut faire cela :
Sub ChercheEtCache()
Dim DerLi&, i&, Libre&, Mot$
Mot = InputBox("Mot à chercher :")
If Mot = "" Then Exit Sub
DerLi = Cells(Rows.Count, "A").End(xlUp).Row
For i = DerLi To 2 Step -1
If Application.CountIf _
(Range("A" & i & ":O" & i), "*" & Mot & "*") = 0 Then
Range("A" & i).EntireRow.Hidden = True
End If
Next i
If Cells(Rows.Count, "A").End(xlUp).Row = 1 Then
Cells.EntireRow.Hidden = False
MsgBox "'" & Mot & "' n'a pas été trouvé !"
End If
End Subet éventuellement copiées dans une feuille rajoutée automatiquement les
lignes ou ce mot est contenu.
Pour cette alternative, utilise plutôt ce code :
Sub ChercheEtCopie()
Dim DerLi&, i&, Libre&, Mot$
Dim Source As Worksheet, Cible As Worksheet
Mot = InputBox("Mot à chercher :")
If Mot = "" Then Exit Sub
Set Source = ActiveSheet
Sheets.Add
Set Cible = ActiveSheet
Cible.Range("A1:O1").Value = Source.Range("A1:O1").Value
DerLi = Source.Cells(Rows.Count, "A").End(xlUp).Row
For i = DerLi To 2 Step -1
If Application.CountIf _
(Source.Range("A" & i & ":O" & i), "*" & Mot & "*") > 0 Then
Libre = Cible.Cells(Rows.Count, "A").End(xlUp).Row + 1
Cible.Range("A" & Libre & ":O" & Libre).Value = _
Source.Range("A" & i & ":O" & i).Value
End If
Next i
If Cible.Cells(Rows.Count, "A").End(xlUp).Row = 1 Then
Application.DisplayAlerts = False
Cible.Delete
Application.DisplayAlerts = True
MsgBox "'" & Mot & "' n'a pas été trouvé !"
End If
End SubMerci et bonne journée
JJ
FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !
Bonjour Frédéric
J'ai du faire une recherche pour ta réponse, je ne sais pas ce qui ce passe,
mais les messages de news ne s'affichent pas correctement chez moi en ce
moment .
Merci pour les codes qui fonctionnent parfaitement.
Pourrais-je abuser de ta compétence pour quelques explications sur:If Application.CountIf _
(Source.Range("A" & i & ":O" & i), "*" & Mot & "*") > 0 Then
Libre = Cible.Cells(Rows.Count, "A").End(xlUp).Row + 1
Cible.Range("A" & Libre & ":O" & Libre).Value = _
Source.Range("A" & i & ":O" & i).Value
End
Je ne connais pas "CountIf", et ne comprend pas les "*"
Serait ce fameux SOMMEPROD, si souvent employé ici ?
Merci et bonne journée
JJ
"Frédéric Sigonneau" a écrit dans le message
news:Bonjour,
Bonjour à tous
J'ai un tableau de données(15col * 250 Lig(modifiable))
Je sélectionne un mot à travers un inputbox
Je voudrais que toutes les lignes qui ne comprennent PAS ce mot soit
cachées
Ce code peut faire cela :
Sub ChercheEtCache()
Dim DerLi&, i&, Libre&, Mot$
Mot = InputBox("Mot à chercher :")
If Mot = "" Then Exit Sub
DerLi = Cells(Rows.Count, "A").End(xlUp).Row
For i = DerLi To 2 Step -1
If Application.CountIf _
(Range("A" & i & ":O" & i), "*" & Mot & "*") = 0 Then
Range("A" & i).EntireRow.Hidden = True
End If
Next i
If Cells(Rows.Count, "A").End(xlUp).Row = 1 Then
Cells.EntireRow.Hidden = False
MsgBox "'" & Mot & "' n'a pas été trouvé !"
End If
End Subet éventuellement copiées dans une feuille rajoutée automatiquement les
lignes ou ce mot est contenu.
Pour cette alternative, utilise plutôt ce code :
Sub ChercheEtCopie()
Dim DerLi&, i&, Libre&, Mot$
Dim Source As Worksheet, Cible As Worksheet
Mot = InputBox("Mot à chercher :")
If Mot = "" Then Exit Sub
Set Source = ActiveSheet
Sheets.Add
Set Cible = ActiveSheet
Cible.Range("A1:O1").Value = Source.Range("A1:O1").Value
DerLi = Source.Cells(Rows.Count, "A").End(xlUp).Row
For i = DerLi To 2 Step -1
If Application.CountIf _
(Source.Range("A" & i & ":O" & i), "*" & Mot & "*") > 0 Then
Libre = Cible.Cells(Rows.Count, "A").End(xlUp).Row + 1
Cible.Range("A" & Libre & ":O" & Libre).Value = _
Source.Range("A" & i & ":O" & i).Value
End If
Next i
If Cible.Cells(Rows.Count, "A").End(xlUp).Row = 1 Then
Application.DisplayAlerts = False
Cible.Delete
Application.DisplayAlerts = True
MsgBox "'" & Mot & "' n'a pas été trouvé !"
End If
End SubMerci et bonne journée
JJ
FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !
Bonjour Frédéric
J'ai du faire une recherche pour ta réponse, je ne sais pas ce qui ce passe,
mais les messages de news ne s'affichent pas correctement chez moi en ce
moment .
Merci pour les codes qui fonctionnent parfaitement.
Pourrais-je abuser de ta compétence pour quelques explications sur:
If Application.CountIf _
(Source.Range("A" & i & ":O" & i), "*" & Mot & "*") > 0 Then
Libre = Cible.Cells(Rows.Count, "A").End(xlUp).Row + 1
Cible.Range("A" & Libre & ":O" & Libre).Value = _
Source.Range("A" & i & ":O" & i).Value
End
Je ne connais pas "CountIf", et ne comprend pas les "*"
Serait ce fameux SOMMEPROD, si souvent employé ici ?
Merci et bonne journée
JJ
"Frédéric Sigonneau" <frederic.sigonneau@wanadoo.fr> a écrit dans le message
news: 4013CBC7.D81FEB0@wanadoo.fr...
Bonjour,
Bonjour à tous
J'ai un tableau de données(15col * 250 Lig(modifiable))
Je sélectionne un mot à travers un inputbox
Je voudrais que toutes les lignes qui ne comprennent PAS ce mot soit
cachées
Ce code peut faire cela :
Sub ChercheEtCache()
Dim DerLi&, i&, Libre&, Mot$
Mot = InputBox("Mot à chercher :")
If Mot = "" Then Exit Sub
DerLi = Cells(Rows.Count, "A").End(xlUp).Row
For i = DerLi To 2 Step -1
If Application.CountIf _
(Range("A" & i & ":O" & i), "*" & Mot & "*") = 0 Then
Range("A" & i).EntireRow.Hidden = True
End If
Next i
If Cells(Rows.Count, "A").End(xlUp).Row = 1 Then
Cells.EntireRow.Hidden = False
MsgBox "'" & Mot & "' n'a pas été trouvé !"
End If
End Sub
et éventuellement copiées dans une feuille rajoutée automatiquement les
lignes ou ce mot est contenu.
Pour cette alternative, utilise plutôt ce code :
Sub ChercheEtCopie()
Dim DerLi&, i&, Libre&, Mot$
Dim Source As Worksheet, Cible As Worksheet
Mot = InputBox("Mot à chercher :")
If Mot = "" Then Exit Sub
Set Source = ActiveSheet
Sheets.Add
Set Cible = ActiveSheet
Cible.Range("A1:O1").Value = Source.Range("A1:O1").Value
DerLi = Source.Cells(Rows.Count, "A").End(xlUp).Row
For i = DerLi To 2 Step -1
If Application.CountIf _
(Source.Range("A" & i & ":O" & i), "*" & Mot & "*") > 0 Then
Libre = Cible.Cells(Rows.Count, "A").End(xlUp).Row + 1
Cible.Range("A" & Libre & ":O" & Libre).Value = _
Source.Range("A" & i & ":O" & i).Value
End If
Next i
If Cible.Cells(Rows.Count, "A").End(xlUp).Row = 1 Then
Application.DisplayAlerts = False
Cible.Delete
Application.DisplayAlerts = True
MsgBox "'" & Mot & "' n'a pas été trouvé !"
End If
End Sub
Merci et bonne journée
JJ
FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !
Bonjour Frédéric
J'ai du faire une recherche pour ta réponse, je ne sais pas ce qui ce passe,
mais les messages de news ne s'affichent pas correctement chez moi en ce
moment .
Merci pour les codes qui fonctionnent parfaitement.
Pourrais-je abuser de ta compétence pour quelques explications sur:If Application.CountIf _
(Source.Range("A" & i & ":O" & i), "*" & Mot & "*") > 0 Then
Libre = Cible.Cells(Rows.Count, "A").End(xlUp).Row + 1
Cible.Range("A" & Libre & ":O" & Libre).Value = _
Source.Range("A" & i & ":O" & i).Value
End
Je ne connais pas "CountIf", et ne comprend pas les "*"
Serait ce fameux SOMMEPROD, si souvent employé ici ?
Merci et bonne journée
JJ
"Frédéric Sigonneau" a écrit dans le message
news:Bonjour,
Bonjour à tous
J'ai un tableau de données(15col * 250 Lig(modifiable))
Je sélectionne un mot à travers un inputbox
Je voudrais que toutes les lignes qui ne comprennent PAS ce mot soit
cachées
Ce code peut faire cela :
Sub ChercheEtCache()
Dim DerLi&, i&, Libre&, Mot$
Mot = InputBox("Mot à chercher :")
If Mot = "" Then Exit Sub
DerLi = Cells(Rows.Count, "A").End(xlUp).Row
For i = DerLi To 2 Step -1
If Application.CountIf _
(Range("A" & i & ":O" & i), "*" & Mot & "*") = 0 Then
Range("A" & i).EntireRow.Hidden = True
End If
Next i
If Cells(Rows.Count, "A").End(xlUp).Row = 1 Then
Cells.EntireRow.Hidden = False
MsgBox "'" & Mot & "' n'a pas été trouvé !"
End If
End Subet éventuellement copiées dans une feuille rajoutée automatiquement les
lignes ou ce mot est contenu.
Pour cette alternative, utilise plutôt ce code :
Sub ChercheEtCopie()
Dim DerLi&, i&, Libre&, Mot$
Dim Source As Worksheet, Cible As Worksheet
Mot = InputBox("Mot à chercher :")
If Mot = "" Then Exit Sub
Set Source = ActiveSheet
Sheets.Add
Set Cible = ActiveSheet
Cible.Range("A1:O1").Value = Source.Range("A1:O1").Value
DerLi = Source.Cells(Rows.Count, "A").End(xlUp).Row
For i = DerLi To 2 Step -1
If Application.CountIf _
(Source.Range("A" & i & ":O" & i), "*" & Mot & "*") > 0 Then
Libre = Cible.Cells(Rows.Count, "A").End(xlUp).Row + 1
Cible.Range("A" & Libre & ":O" & Libre).Value = _
Source.Range("A" & i & ":O" & i).Value
End If
Next i
If Cible.Cells(Rows.Count, "A").End(xlUp).Row = 1 Then
Application.DisplayAlerts = False
Cible.Delete
Application.DisplayAlerts = True
MsgBox "'" & Mot & "' n'a pas été trouvé !"
End If
End SubMerci et bonne journée
JJ
FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !
Bonjour,
CountIf, c'est NB.SI. Il est possible en VBA d'utiliser les fonctions de
feuille
de calcul (avec leur nom anglais) en utilisant soit
Application.WorksheetFunction soit Application tout court. Les * sont des
caractères génériques acceptés par NB.SI. Ils permettent de rechercher une
chaîne de caractères (ici dans la variable Mot) qui peut être précédée
et/ou
suivie d'un ou plusieurs autres caractères dans une chaîne plus
importante.
FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !
Bonjour Frédéric
J'ai du faire une recherche pour ta réponse, je ne sais pas ce qui ce
passe,
mais les messages de news ne s'affichent pas correctement chez moi en ce
moment .
Merci pour les codes qui fonctionnent parfaitement.
Pourrais-je abuser de ta compétence pour quelques explications sur:If Application.CountIf _
(Source.Range("A" & i & ":O" & i), "*" & Mot & "*") > 0 Then
Libre = Cible.Cells(Rows.Count, "A").End(xlUp).Row + 1
Cible.Range("A" & Libre & ":O" & Libre).Value = _
Source.Range("A" & i & ":O" & i).Value
End
Je ne connais pas "CountIf", et ne comprend pas les "*"
Serait ce fameux SOMMEPROD, si souvent employé ici ?
Merci et bonne journée
JJ
"Frédéric Sigonneau" a écrit dans le
message
news:Bonjour,
Bonjour à tous
J'ai un tableau de données(15col * 250 Lig(modifiable))
Je sélectionne un mot à travers un inputbox
Je voudrais que toutes les lignes qui ne comprennent PAS ce mot soit
cachées
Ce code peut faire cela :
Sub ChercheEtCache()
Dim DerLi&, i&, Libre&, Mot$
Mot = InputBox("Mot à chercher :")
If Mot = "" Then Exit Sub
DerLi = Cells(Rows.Count, "A").End(xlUp).Row
For i = DerLi To 2 Step -1
If Application.CountIf _
(Range("A" & i & ":O" & i), "*" & Mot & "*") = 0 Then
Range("A" & i).EntireRow.Hidden = True
End If
Next i
If Cells(Rows.Count, "A").End(xlUp).Row = 1 Then
Cells.EntireRow.Hidden = False
MsgBox "'" & Mot & "' n'a pas été trouvé !"
End If
End Subet éventuellement copiées dans une feuille rajoutée automatiquement
les
lignes ou ce mot est contenu.
Pour cette alternative, utilise plutôt ce code :
Sub ChercheEtCopie()
Dim DerLi&, i&, Libre&, Mot$
Dim Source As Worksheet, Cible As Worksheet
Mot = InputBox("Mot à chercher :")
If Mot = "" Then Exit Sub
Set Source = ActiveSheet
Sheets.Add
Set Cible = ActiveSheet
Cible.Range("A1:O1").Value = Source.Range("A1:O1").Value
DerLi = Source.Cells(Rows.Count, "A").End(xlUp).Row
For i = DerLi To 2 Step -1
If Application.CountIf _
(Source.Range("A" & i & ":O" & i), "*" & Mot & "*") > 0 Then
Libre = Cible.Cells(Rows.Count, "A").End(xlUp).Row + 1
Cible.Range("A" & Libre & ":O" & Libre).Value = _
Source.Range("A" & i & ":O" & i).Value
End If
Next i
If Cible.Cells(Rows.Count, "A").End(xlUp).Row = 1 Then
Application.DisplayAlerts = False
Cible.Delete
Application.DisplayAlerts = True
MsgBox "'" & Mot & "' n'a pas été trouvé !"
End If
End SubMerci et bonne journée
JJ
FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !
Bonjour,
CountIf, c'est NB.SI. Il est possible en VBA d'utiliser les fonctions de
feuille
de calcul (avec leur nom anglais) en utilisant soit
Application.WorksheetFunction soit Application tout court. Les * sont des
caractères génériques acceptés par NB.SI. Ils permettent de rechercher une
chaîne de caractères (ici dans la variable Mot) qui peut être précédée
et/ou
suivie d'un ou plusieurs autres caractères dans une chaîne plus
importante.
FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !
Bonjour Frédéric
J'ai du faire une recherche pour ta réponse, je ne sais pas ce qui ce
passe,
mais les messages de news ne s'affichent pas correctement chez moi en ce
moment .
Merci pour les codes qui fonctionnent parfaitement.
Pourrais-je abuser de ta compétence pour quelques explications sur:
If Application.CountIf _
(Source.Range("A" & i & ":O" & i), "*" & Mot & "*") > 0 Then
Libre = Cible.Cells(Rows.Count, "A").End(xlUp).Row + 1
Cible.Range("A" & Libre & ":O" & Libre).Value = _
Source.Range("A" & i & ":O" & i).Value
End
Je ne connais pas "CountIf", et ne comprend pas les "*"
Serait ce fameux SOMMEPROD, si souvent employé ici ?
Merci et bonne journée
JJ
"Frédéric Sigonneau" <frederic.sigonneau@wanadoo.fr> a écrit dans le
message
news: 4013CBC7.D81FEB0@wanadoo.fr...
Bonjour,
Bonjour à tous
J'ai un tableau de données(15col * 250 Lig(modifiable))
Je sélectionne un mot à travers un inputbox
Je voudrais que toutes les lignes qui ne comprennent PAS ce mot soit
cachées
Ce code peut faire cela :
Sub ChercheEtCache()
Dim DerLi&, i&, Libre&, Mot$
Mot = InputBox("Mot à chercher :")
If Mot = "" Then Exit Sub
DerLi = Cells(Rows.Count, "A").End(xlUp).Row
For i = DerLi To 2 Step -1
If Application.CountIf _
(Range("A" & i & ":O" & i), "*" & Mot & "*") = 0 Then
Range("A" & i).EntireRow.Hidden = True
End If
Next i
If Cells(Rows.Count, "A").End(xlUp).Row = 1 Then
Cells.EntireRow.Hidden = False
MsgBox "'" & Mot & "' n'a pas été trouvé !"
End If
End Sub
et éventuellement copiées dans une feuille rajoutée automatiquement
les
lignes ou ce mot est contenu.
Pour cette alternative, utilise plutôt ce code :
Sub ChercheEtCopie()
Dim DerLi&, i&, Libre&, Mot$
Dim Source As Worksheet, Cible As Worksheet
Mot = InputBox("Mot à chercher :")
If Mot = "" Then Exit Sub
Set Source = ActiveSheet
Sheets.Add
Set Cible = ActiveSheet
Cible.Range("A1:O1").Value = Source.Range("A1:O1").Value
DerLi = Source.Cells(Rows.Count, "A").End(xlUp).Row
For i = DerLi To 2 Step -1
If Application.CountIf _
(Source.Range("A" & i & ":O" & i), "*" & Mot & "*") > 0 Then
Libre = Cible.Cells(Rows.Count, "A").End(xlUp).Row + 1
Cible.Range("A" & Libre & ":O" & Libre).Value = _
Source.Range("A" & i & ":O" & i).Value
End If
Next i
If Cible.Cells(Rows.Count, "A").End(xlUp).Row = 1 Then
Application.DisplayAlerts = False
Cible.Delete
Application.DisplayAlerts = True
MsgBox "'" & Mot & "' n'a pas été trouvé !"
End If
End Sub
Merci et bonne journée
JJ
FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !
Bonjour,
CountIf, c'est NB.SI. Il est possible en VBA d'utiliser les fonctions de
feuille
de calcul (avec leur nom anglais) en utilisant soit
Application.WorksheetFunction soit Application tout court. Les * sont des
caractères génériques acceptés par NB.SI. Ils permettent de rechercher une
chaîne de caractères (ici dans la variable Mot) qui peut être précédée
et/ou
suivie d'un ou plusieurs autres caractères dans une chaîne plus
importante.
FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !
Bonjour Frédéric
J'ai du faire une recherche pour ta réponse, je ne sais pas ce qui ce
passe,
mais les messages de news ne s'affichent pas correctement chez moi en ce
moment .
Merci pour les codes qui fonctionnent parfaitement.
Pourrais-je abuser de ta compétence pour quelques explications sur:If Application.CountIf _
(Source.Range("A" & i & ":O" & i), "*" & Mot & "*") > 0 Then
Libre = Cible.Cells(Rows.Count, "A").End(xlUp).Row + 1
Cible.Range("A" & Libre & ":O" & Libre).Value = _
Source.Range("A" & i & ":O" & i).Value
End
Je ne connais pas "CountIf", et ne comprend pas les "*"
Serait ce fameux SOMMEPROD, si souvent employé ici ?
Merci et bonne journée
JJ
"Frédéric Sigonneau" a écrit dans le
message
news:Bonjour,
Bonjour à tous
J'ai un tableau de données(15col * 250 Lig(modifiable))
Je sélectionne un mot à travers un inputbox
Je voudrais que toutes les lignes qui ne comprennent PAS ce mot soit
cachées
Ce code peut faire cela :
Sub ChercheEtCache()
Dim DerLi&, i&, Libre&, Mot$
Mot = InputBox("Mot à chercher :")
If Mot = "" Then Exit Sub
DerLi = Cells(Rows.Count, "A").End(xlUp).Row
For i = DerLi To 2 Step -1
If Application.CountIf _
(Range("A" & i & ":O" & i), "*" & Mot & "*") = 0 Then
Range("A" & i).EntireRow.Hidden = True
End If
Next i
If Cells(Rows.Count, "A").End(xlUp).Row = 1 Then
Cells.EntireRow.Hidden = False
MsgBox "'" & Mot & "' n'a pas été trouvé !"
End If
End Subet éventuellement copiées dans une feuille rajoutée automatiquement
les
lignes ou ce mot est contenu.
Pour cette alternative, utilise plutôt ce code :
Sub ChercheEtCopie()
Dim DerLi&, i&, Libre&, Mot$
Dim Source As Worksheet, Cible As Worksheet
Mot = InputBox("Mot à chercher :")
If Mot = "" Then Exit Sub
Set Source = ActiveSheet
Sheets.Add
Set Cible = ActiveSheet
Cible.Range("A1:O1").Value = Source.Range("A1:O1").Value
DerLi = Source.Cells(Rows.Count, "A").End(xlUp).Row
For i = DerLi To 2 Step -1
If Application.CountIf _
(Source.Range("A" & i & ":O" & i), "*" & Mot & "*") > 0 Then
Libre = Cible.Cells(Rows.Count, "A").End(xlUp).Row + 1
Cible.Range("A" & Libre & ":O" & Libre).Value = _
Source.Range("A" & i & ":O" & i).Value
End If
Next i
If Cible.Cells(Rows.Count, "A").End(xlUp).Row = 1 Then
Application.DisplayAlerts = False
Cible.Delete
Application.DisplayAlerts = True
MsgBox "'" & Mot & "' n'a pas été trouvé !"
End If
End SubMerci et bonne journée
JJ
FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !
OK. Merci Frédéric
Bonne nuit
"Frédéric Sigonneau" a écrit dans le
message
news:Bonjour,
CountIf, c'est NB.SI. Il est possible en VBA d'utiliser les fonctions de
feuillede calcul (avec leur nom anglais) en utilisant soit
Application.WorksheetFunction soit Application tout court. Les * sont
des
caractères génériques acceptés par NB.SI. Ils permettent de rechercher
une
chaîne de caractères (ici dans la variable Mot) qui peut être précédée
et/ousuivie d'un ou plusieurs autres caractères dans une chaîne plus
importante.
FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !
Bonjour Frédéric
J'ai du faire une recherche pour ta réponse, je ne sais pas ce qui ce
passe,mais les messages de news ne s'affichent pas correctement chez moi en
ce
moment .
Merci pour les codes qui fonctionnent parfaitement.
Pourrais-je abuser de ta compétence pour quelques explications sur:If Application.CountIf _
(Source.Range("A" & i & ":O" & i), "*" & Mot & "*") > 0 Then
Libre = Cible.Cells(Rows.Count, "A").End(xlUp).Row + 1
Cible.Range("A" & Libre & ":O" & Libre).Value = _
Source.Range("A" & i & ":O" & i).Value
End
Je ne connais pas "CountIf", et ne comprend pas les "*"
Serait ce fameux SOMMEPROD, si souvent employé ici ?
Merci et bonne journée
JJ
"Frédéric Sigonneau" a écrit dans le
messagenews:Bonjour,
Bonjour à tous
J'ai un tableau de données(15col * 250 Lig(modifiable))
Je sélectionne un mot à travers un inputbox
Je voudrais que toutes les lignes qui ne comprennent PAS ce mot
soit
cachées
Ce code peut faire cela :
Sub ChercheEtCache()
Dim DerLi&, i&, Libre&, Mot$
Mot = InputBox("Mot à chercher :")
If Mot = "" Then Exit Sub
DerLi = Cells(Rows.Count, "A").End(xlUp).Row
For i = DerLi To 2 Step -1
If Application.CountIf _
(Range("A" & i & ":O" & i), "*" & Mot & "*") = 0 Then
Range("A" & i).EntireRow.Hidden = True
End If
Next i
If Cells(Rows.Count, "A").End(xlUp).Row = 1 Then
Cells.EntireRow.Hidden = False
MsgBox "'" & Mot & "' n'a pas été trouvé !"
End If
End Subet éventuellement copiées dans une feuille rajoutée
automatiquement
leslignes ou ce mot est contenu.
Pour cette alternative, utilise plutôt ce code :
Sub ChercheEtCopie()
Dim DerLi&, i&, Libre&, Mot$
Dim Source As Worksheet, Cible As Worksheet
Mot = InputBox("Mot à chercher :")
If Mot = "" Then Exit Sub
Set Source = ActiveSheet
Sheets.Add
Set Cible = ActiveSheet
Cible.Range("A1:O1").Value = Source.Range("A1:O1").Value
DerLi = Source.Cells(Rows.Count, "A").End(xlUp).Row
For i = DerLi To 2 Step -1
If Application.CountIf _
(Source.Range("A" & i & ":O" & i), "*" & Mot & "*") > 0 Then
Libre = Cible.Cells(Rows.Count, "A").End(xlUp).Row + 1
Cible.Range("A" & Libre & ":O" & Libre).Value = _
Source.Range("A" & i & ":O" & i).Value
End If
Next i
If Cible.Cells(Rows.Count, "A").End(xlUp).Row = 1 Then
Application.DisplayAlerts = False
Cible.Delete
Application.DisplayAlerts = True
MsgBox "'" & Mot & "' n'a pas été trouvé !"
End If
End SubMerci et bonne journée
JJ
FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !
OK. Merci Frédéric
Bonne nuit
"Frédéric Sigonneau" <frederic.sigonneau@wanadoo.fr> a écrit dans le
message
news: 40167AEE.ADEE8480@wanadoo.fr...
Bonjour,
CountIf, c'est NB.SI. Il est possible en VBA d'utiliser les fonctions de
feuille
de calcul (avec leur nom anglais) en utilisant soit
Application.WorksheetFunction soit Application tout court. Les * sont
des
caractères génériques acceptés par NB.SI. Ils permettent de rechercher
une
chaîne de caractères (ici dans la variable Mot) qui peut être précédée
et/ou
suivie d'un ou plusieurs autres caractères dans une chaîne plus
importante.
FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !
Bonjour Frédéric
J'ai du faire une recherche pour ta réponse, je ne sais pas ce qui ce
passe,
mais les messages de news ne s'affichent pas correctement chez moi en
ce
moment .
Merci pour les codes qui fonctionnent parfaitement.
Pourrais-je abuser de ta compétence pour quelques explications sur:
If Application.CountIf _
(Source.Range("A" & i & ":O" & i), "*" & Mot & "*") > 0 Then
Libre = Cible.Cells(Rows.Count, "A").End(xlUp).Row + 1
Cible.Range("A" & Libre & ":O" & Libre).Value = _
Source.Range("A" & i & ":O" & i).Value
End
Je ne connais pas "CountIf", et ne comprend pas les "*"
Serait ce fameux SOMMEPROD, si souvent employé ici ?
Merci et bonne journée
JJ
"Frédéric Sigonneau" <frederic.sigonneau@wanadoo.fr> a écrit dans le
message
news: 4013CBC7.D81FEB0@wanadoo.fr...
Bonjour,
Bonjour à tous
J'ai un tableau de données(15col * 250 Lig(modifiable))
Je sélectionne un mot à travers un inputbox
Je voudrais que toutes les lignes qui ne comprennent PAS ce mot
soit
cachées
Ce code peut faire cela :
Sub ChercheEtCache()
Dim DerLi&, i&, Libre&, Mot$
Mot = InputBox("Mot à chercher :")
If Mot = "" Then Exit Sub
DerLi = Cells(Rows.Count, "A").End(xlUp).Row
For i = DerLi To 2 Step -1
If Application.CountIf _
(Range("A" & i & ":O" & i), "*" & Mot & "*") = 0 Then
Range("A" & i).EntireRow.Hidden = True
End If
Next i
If Cells(Rows.Count, "A").End(xlUp).Row = 1 Then
Cells.EntireRow.Hidden = False
MsgBox "'" & Mot & "' n'a pas été trouvé !"
End If
End Sub
et éventuellement copiées dans une feuille rajoutée
automatiquement
les
lignes ou ce mot est contenu.
Pour cette alternative, utilise plutôt ce code :
Sub ChercheEtCopie()
Dim DerLi&, i&, Libre&, Mot$
Dim Source As Worksheet, Cible As Worksheet
Mot = InputBox("Mot à chercher :")
If Mot = "" Then Exit Sub
Set Source = ActiveSheet
Sheets.Add
Set Cible = ActiveSheet
Cible.Range("A1:O1").Value = Source.Range("A1:O1").Value
DerLi = Source.Cells(Rows.Count, "A").End(xlUp).Row
For i = DerLi To 2 Step -1
If Application.CountIf _
(Source.Range("A" & i & ":O" & i), "*" & Mot & "*") > 0 Then
Libre = Cible.Cells(Rows.Count, "A").End(xlUp).Row + 1
Cible.Range("A" & Libre & ":O" & Libre).Value = _
Source.Range("A" & i & ":O" & i).Value
End If
Next i
If Cible.Cells(Rows.Count, "A").End(xlUp).Row = 1 Then
Application.DisplayAlerts = False
Cible.Delete
Application.DisplayAlerts = True
MsgBox "'" & Mot & "' n'a pas été trouvé !"
End If
End Sub
Merci et bonne journée
JJ
FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !
OK. Merci Frédéric
Bonne nuit
"Frédéric Sigonneau" a écrit dans le
message
news:Bonjour,
CountIf, c'est NB.SI. Il est possible en VBA d'utiliser les fonctions de
feuillede calcul (avec leur nom anglais) en utilisant soit
Application.WorksheetFunction soit Application tout court. Les * sont
des
caractères génériques acceptés par NB.SI. Ils permettent de rechercher
une
chaîne de caractères (ici dans la variable Mot) qui peut être précédée
et/ousuivie d'un ou plusieurs autres caractères dans une chaîne plus
importante.
FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !
Bonjour Frédéric
J'ai du faire une recherche pour ta réponse, je ne sais pas ce qui ce
passe,mais les messages de news ne s'affichent pas correctement chez moi en
ce
moment .
Merci pour les codes qui fonctionnent parfaitement.
Pourrais-je abuser de ta compétence pour quelques explications sur:If Application.CountIf _
(Source.Range("A" & i & ":O" & i), "*" & Mot & "*") > 0 Then
Libre = Cible.Cells(Rows.Count, "A").End(xlUp).Row + 1
Cible.Range("A" & Libre & ":O" & Libre).Value = _
Source.Range("A" & i & ":O" & i).Value
End
Je ne connais pas "CountIf", et ne comprend pas les "*"
Serait ce fameux SOMMEPROD, si souvent employé ici ?
Merci et bonne journée
JJ
"Frédéric Sigonneau" a écrit dans le
messagenews:Bonjour,
Bonjour à tous
J'ai un tableau de données(15col * 250 Lig(modifiable))
Je sélectionne un mot à travers un inputbox
Je voudrais que toutes les lignes qui ne comprennent PAS ce mot
soit
cachées
Ce code peut faire cela :
Sub ChercheEtCache()
Dim DerLi&, i&, Libre&, Mot$
Mot = InputBox("Mot à chercher :")
If Mot = "" Then Exit Sub
DerLi = Cells(Rows.Count, "A").End(xlUp).Row
For i = DerLi To 2 Step -1
If Application.CountIf _
(Range("A" & i & ":O" & i), "*" & Mot & "*") = 0 Then
Range("A" & i).EntireRow.Hidden = True
End If
Next i
If Cells(Rows.Count, "A").End(xlUp).Row = 1 Then
Cells.EntireRow.Hidden = False
MsgBox "'" & Mot & "' n'a pas été trouvé !"
End If
End Subet éventuellement copiées dans une feuille rajoutée
automatiquement
leslignes ou ce mot est contenu.
Pour cette alternative, utilise plutôt ce code :
Sub ChercheEtCopie()
Dim DerLi&, i&, Libre&, Mot$
Dim Source As Worksheet, Cible As Worksheet
Mot = InputBox("Mot à chercher :")
If Mot = "" Then Exit Sub
Set Source = ActiveSheet
Sheets.Add
Set Cible = ActiveSheet
Cible.Range("A1:O1").Value = Source.Range("A1:O1").Value
DerLi = Source.Cells(Rows.Count, "A").End(xlUp).Row
For i = DerLi To 2 Step -1
If Application.CountIf _
(Source.Range("A" & i & ":O" & i), "*" & Mot & "*") > 0 Then
Libre = Cible.Cells(Rows.Count, "A").End(xlUp).Row + 1
Cible.Range("A" & Libre & ":O" & Libre).Value = _
Source.Range("A" & i & ":O" & i).Value
End If
Next i
If Cible.Cells(Rows.Count, "A").End(xlUp).Row = 1 Then
Application.DisplayAlerts = False
Cible.Delete
Application.DisplayAlerts = True
MsgBox "'" & Mot & "' n'a pas été trouvé !"
End If
End SubMerci et bonne journée
JJ
FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !
re Frédéric
Je viens de remarquer que sur les cellules qui comprennent des dates,
celles-ci changent de format et passent du format français au format anglais
?????????
As-tu une explication ??
JJ
"Jacky" <news.microsoft.com> a écrit dans le message news:OK. Merci Frédéric
Bonne nuit
"Frédéric Sigonneau" a écrit dans le
messagenews:Bonjour,
CountIf, c'est NB.SI. Il est possible en VBA d'utiliser les fonctions de
feuillede calcul (avec leur nom anglais) en utilisant soit
Application.WorksheetFunction soit Application tout court. Les * sont
descaractères génériques acceptés par NB.SI. Ils permettent de rechercher
unechaîne de caractères (ici dans la variable Mot) qui peut être précédée
et/ousuivie d'un ou plusieurs autres caractères dans une chaîne plus
importante.
FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !
Bonjour Frédéric
J'ai du faire une recherche pour ta réponse, je ne sais pas ce qui ce
passe,mais les messages de news ne s'affichent pas correctement chez moi en
cemoment .
Merci pour les codes qui fonctionnent parfaitement.
Pourrais-je abuser de ta compétence pour quelques explications sur:If Application.CountIf _
(Source.Range("A" & i & ":O" & i), "*" & Mot & "*") > 0 Then
Libre = Cible.Cells(Rows.Count, "A").End(xlUp).Row + 1
Cible.Range("A" & Libre & ":O" & Libre).Value = _
Source.Range("A" & i & ":O" & i).Value
End
Je ne connais pas "CountIf", et ne comprend pas les "*"
Serait ce fameux SOMMEPROD, si souvent employé ici ?
Merci et bonne journée
JJ
"Frédéric Sigonneau" a écrit dans le
messagenews:Bonjour,
Bonjour à tous
J'ai un tableau de données(15col * 250 Lig(modifiable))
Je sélectionne un mot à travers un inputbox
Je voudrais que toutes les lignes qui ne comprennent PAS ce mot
soitcachées
Ce code peut faire cela :
Sub ChercheEtCache()
Dim DerLi&, i&, Libre&, Mot$
Mot = InputBox("Mot à chercher :")
If Mot = "" Then Exit Sub
DerLi = Cells(Rows.Count, "A").End(xlUp).Row
For i = DerLi To 2 Step -1
If Application.CountIf _
(Range("A" & i & ":O" & i), "*" & Mot & "*") = 0 Then
Range("A" & i).EntireRow.Hidden = True
End If
Next i
If Cells(Rows.Count, "A").End(xlUp).Row = 1 Then
Cells.EntireRow.Hidden = False
MsgBox "'" & Mot & "' n'a pas été trouvé !"
End If
End Subet éventuellement copiées dans une feuille rajoutée
automatiquementleslignes ou ce mot est contenu.
Pour cette alternative, utilise plutôt ce code :
Sub ChercheEtCopie()
Dim DerLi&, i&, Libre&, Mot$
Dim Source As Worksheet, Cible As Worksheet
Mot = InputBox("Mot à chercher :")
If Mot = "" Then Exit Sub
Set Source = ActiveSheet
Sheets.Add
Set Cible = ActiveSheet
Cible.Range("A1:O1").Value = Source.Range("A1:O1").Value
DerLi = Source.Cells(Rows.Count, "A").End(xlUp).Row
For i = DerLi To 2 Step -1
If Application.CountIf _
(Source.Range("A" & i & ":O" & i), "*" & Mot & "*") > 0 Then
Libre = Cible.Cells(Rows.Count, "A").End(xlUp).Row + 1
Cible.Range("A" & Libre & ":O" & Libre).Value = _
Source.Range("A" & i & ":O" & i).Value
End If
Next i
If Cible.Cells(Rows.Count, "A").End(xlUp).Row = 1 Then
Application.DisplayAlerts = False
Cible.Delete
Application.DisplayAlerts = True
MsgBox "'" & Mot & "' n'a pas été trouvé !"
End If
End SubMerci et bonne journée
JJ
FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !
re Frédéric
Je viens de remarquer que sur les cellules qui comprennent des dates,
celles-ci changent de format et passent du format français au format anglais
?????????
As-tu une explication ??
JJ
"Jacky" <news.microsoft.com> a écrit dans le message news:
OH6emPR5DHA.1592@TK2MSFTNGP10.phx.gbl...
OK. Merci Frédéric
Bonne nuit
"Frédéric Sigonneau" <frederic.sigonneau@wanadoo.fr> a écrit dans le
message
news: 40167AEE.ADEE8480@wanadoo.fr...
Bonjour,
CountIf, c'est NB.SI. Il est possible en VBA d'utiliser les fonctions de
feuille
de calcul (avec leur nom anglais) en utilisant soit
Application.WorksheetFunction soit Application tout court. Les * sont
des
caractères génériques acceptés par NB.SI. Ils permettent de rechercher
une
chaîne de caractères (ici dans la variable Mot) qui peut être précédée
et/ou
suivie d'un ou plusieurs autres caractères dans une chaîne plus
importante.
FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !
Bonjour Frédéric
J'ai du faire une recherche pour ta réponse, je ne sais pas ce qui ce
passe,
mais les messages de news ne s'affichent pas correctement chez moi en
ce
moment .
Merci pour les codes qui fonctionnent parfaitement.
Pourrais-je abuser de ta compétence pour quelques explications sur:
If Application.CountIf _
(Source.Range("A" & i & ":O" & i), "*" & Mot & "*") > 0 Then
Libre = Cible.Cells(Rows.Count, "A").End(xlUp).Row + 1
Cible.Range("A" & Libre & ":O" & Libre).Value = _
Source.Range("A" & i & ":O" & i).Value
End
Je ne connais pas "CountIf", et ne comprend pas les "*"
Serait ce fameux SOMMEPROD, si souvent employé ici ?
Merci et bonne journée
JJ
"Frédéric Sigonneau" <frederic.sigonneau@wanadoo.fr> a écrit dans le
message
news: 4013CBC7.D81FEB0@wanadoo.fr...
Bonjour,
Bonjour à tous
J'ai un tableau de données(15col * 250 Lig(modifiable))
Je sélectionne un mot à travers un inputbox
Je voudrais que toutes les lignes qui ne comprennent PAS ce mot
soit
cachées
Ce code peut faire cela :
Sub ChercheEtCache()
Dim DerLi&, i&, Libre&, Mot$
Mot = InputBox("Mot à chercher :")
If Mot = "" Then Exit Sub
DerLi = Cells(Rows.Count, "A").End(xlUp).Row
For i = DerLi To 2 Step -1
If Application.CountIf _
(Range("A" & i & ":O" & i), "*" & Mot & "*") = 0 Then
Range("A" & i).EntireRow.Hidden = True
End If
Next i
If Cells(Rows.Count, "A").End(xlUp).Row = 1 Then
Cells.EntireRow.Hidden = False
MsgBox "'" & Mot & "' n'a pas été trouvé !"
End If
End Sub
et éventuellement copiées dans une feuille rajoutée
automatiquement
les
lignes ou ce mot est contenu.
Pour cette alternative, utilise plutôt ce code :
Sub ChercheEtCopie()
Dim DerLi&, i&, Libre&, Mot$
Dim Source As Worksheet, Cible As Worksheet
Mot = InputBox("Mot à chercher :")
If Mot = "" Then Exit Sub
Set Source = ActiveSheet
Sheets.Add
Set Cible = ActiveSheet
Cible.Range("A1:O1").Value = Source.Range("A1:O1").Value
DerLi = Source.Cells(Rows.Count, "A").End(xlUp).Row
For i = DerLi To 2 Step -1
If Application.CountIf _
(Source.Range("A" & i & ":O" & i), "*" & Mot & "*") > 0 Then
Libre = Cible.Cells(Rows.Count, "A").End(xlUp).Row + 1
Cible.Range("A" & Libre & ":O" & Libre).Value = _
Source.Range("A" & i & ":O" & i).Value
End If
Next i
If Cible.Cells(Rows.Count, "A").End(xlUp).Row = 1 Then
Application.DisplayAlerts = False
Cible.Delete
Application.DisplayAlerts = True
MsgBox "'" & Mot & "' n'a pas été trouvé !"
End If
End Sub
Merci et bonne journée
JJ
FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !
re Frédéric
Je viens de remarquer que sur les cellules qui comprennent des dates,
celles-ci changent de format et passent du format français au format anglais
?????????
As-tu une explication ??
JJ
"Jacky" <news.microsoft.com> a écrit dans le message news:OK. Merci Frédéric
Bonne nuit
"Frédéric Sigonneau" a écrit dans le
messagenews:Bonjour,
CountIf, c'est NB.SI. Il est possible en VBA d'utiliser les fonctions de
feuillede calcul (avec leur nom anglais) en utilisant soit
Application.WorksheetFunction soit Application tout court. Les * sont
descaractères génériques acceptés par NB.SI. Ils permettent de rechercher
unechaîne de caractères (ici dans la variable Mot) qui peut être précédée
et/ousuivie d'un ou plusieurs autres caractères dans une chaîne plus
importante.
FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !
Bonjour Frédéric
J'ai du faire une recherche pour ta réponse, je ne sais pas ce qui ce
passe,mais les messages de news ne s'affichent pas correctement chez moi en
cemoment .
Merci pour les codes qui fonctionnent parfaitement.
Pourrais-je abuser de ta compétence pour quelques explications sur:If Application.CountIf _
(Source.Range("A" & i & ":O" & i), "*" & Mot & "*") > 0 Then
Libre = Cible.Cells(Rows.Count, "A").End(xlUp).Row + 1
Cible.Range("A" & Libre & ":O" & Libre).Value = _
Source.Range("A" & i & ":O" & i).Value
End
Je ne connais pas "CountIf", et ne comprend pas les "*"
Serait ce fameux SOMMEPROD, si souvent employé ici ?
Merci et bonne journée
JJ
"Frédéric Sigonneau" a écrit dans le
messagenews:Bonjour,
Bonjour à tous
J'ai un tableau de données(15col * 250 Lig(modifiable))
Je sélectionne un mot à travers un inputbox
Je voudrais que toutes les lignes qui ne comprennent PAS ce mot
soitcachées
Ce code peut faire cela :
Sub ChercheEtCache()
Dim DerLi&, i&, Libre&, Mot$
Mot = InputBox("Mot à chercher :")
If Mot = "" Then Exit Sub
DerLi = Cells(Rows.Count, "A").End(xlUp).Row
For i = DerLi To 2 Step -1
If Application.CountIf _
(Range("A" & i & ":O" & i), "*" & Mot & "*") = 0 Then
Range("A" & i).EntireRow.Hidden = True
End If
Next i
If Cells(Rows.Count, "A").End(xlUp).Row = 1 Then
Cells.EntireRow.Hidden = False
MsgBox "'" & Mot & "' n'a pas été trouvé !"
End If
End Subet éventuellement copiées dans une feuille rajoutée
automatiquementleslignes ou ce mot est contenu.
Pour cette alternative, utilise plutôt ce code :
Sub ChercheEtCopie()
Dim DerLi&, i&, Libre&, Mot$
Dim Source As Worksheet, Cible As Worksheet
Mot = InputBox("Mot à chercher :")
If Mot = "" Then Exit Sub
Set Source = ActiveSheet
Sheets.Add
Set Cible = ActiveSheet
Cible.Range("A1:O1").Value = Source.Range("A1:O1").Value
DerLi = Source.Cells(Rows.Count, "A").End(xlUp).Row
For i = DerLi To 2 Step -1
If Application.CountIf _
(Source.Range("A" & i & ":O" & i), "*" & Mot & "*") > 0 Then
Libre = Cible.Cells(Rows.Count, "A").End(xlUp).Row + 1
Cible.Range("A" & Libre & ":O" & Libre).Value = _
Source.Range("A" & i & ":O" & i).Value
End If
Next i
If Cible.Cells(Rows.Count, "A").End(xlUp).Row = 1 Then
Application.DisplayAlerts = False
Cible.Delete
Application.DisplayAlerts = True
MsgBox "'" & Mot & "' n'a pas été trouvé !"
End If
End SubMerci et bonne journée
JJ
FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !
Bonsoir,
Non, pas d'explication. Il n'y a pas de raison, a priori, de rencontrer ce
problème en copiant des données d'une feuille de calcul à une autre
(d'autant
qu'on ne fait pas vraiment de copie dans le code proposé), dans le même
classeur, sur la même machine...
C'est un problème rencontré quand on récupère en VBA des dates d'un
fichier
texte ou csv, ou qu'on envoie des dates entrées dans un contrôle qui
n'accepte
que du texte (textbox d'un userform ou inputbox par exemple) dans une
feuille de
calcul sans les convertir en date valide (avec la fonction CDate par ex).
Tu es peut-être dans ce cas si ton projet comprend d'autres éléments que
ceux
exposés au départ dans ta question.
FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !
re Frédéric
Je viens de remarquer que sur les cellules qui comprennent des dates,
celles-ci changent de format et passent du format français au format
anglais
?????????
As-tu une explication ??
JJ
"Jacky" <news.microsoft.com> a écrit dans le message news:OK. Merci Frédéric
Bonne nuit
"Frédéric Sigonneau" a écrit dans le
messagenews:Bonjour,
CountIf, c'est NB.SI. Il est possible en VBA d'utiliser les
fonctions de
feuillede calcul (avec leur nom anglais) en utilisant soit
Application.WorksheetFunction soit Application tout court. Les *
sont
descaractères génériques acceptés par NB.SI. Ils permettent de
rechercher
unechaîne de caractères (ici dans la variable Mot) qui peut être
précédée
et/ousuivie d'un ou plusieurs autres caractères dans une chaîne plus
importante.
FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !
Bonjour Frédéric
J'ai du faire une recherche pour ta réponse, je ne sais pas ce qui
ce
passe,mais les messages de news ne s'affichent pas correctement chez moi
en
cemoment .
Merci pour les codes qui fonctionnent parfaitement.
Pourrais-je abuser de ta compétence pour quelques explications
sur:
If Application.CountIf _
(Source.Range("A" & i & ":O" & i), "*" & Mot & "*") > 0
Then
Libre = Cible.Cells(Rows.Count, "A").End(xlUp).Row + 1
Cible.Range("A" & Libre & ":O" & Libre).Value = _
Source.Range("A" & i & ":O" & i).Value
End
Je ne connais pas "CountIf", et ne comprend pas les "*"
Serait ce fameux SOMMEPROD, si souvent employé ici ?
Merci et bonne journée
JJ
"Frédéric Sigonneau" a écrit dans
le
messagenews:Bonjour,
Bonjour à tous
J'ai un tableau de données(15col * 250 Lig(modifiable))
Je sélectionne un mot à travers un inputbox
Je voudrais que toutes les lignes qui ne comprennent PAS ce
mot
soitcachées
Ce code peut faire cela :
Sub ChercheEtCache()
Dim DerLi&, i&, Libre&, Mot$
Mot = InputBox("Mot à chercher :")
If Mot = "" Then Exit Sub
DerLi = Cells(Rows.Count, "A").End(xlUp).Row
For i = DerLi To 2 Step -1
If Application.CountIf _
(Range("A" & i & ":O" & i), "*" & Mot & "*") = 0 Then
Range("A" & i).EntireRow.Hidden = True
End If
Next i
If Cells(Rows.Count, "A").End(xlUp).Row = 1 Then
Cells.EntireRow.Hidden = False
MsgBox "'" & Mot & "' n'a pas été trouvé !"
End If
End Subet éventuellement copiées dans une feuille rajoutée
automatiquementleslignes ou ce mot est contenu.
Pour cette alternative, utilise plutôt ce code :
Sub ChercheEtCopie()
Dim DerLi&, i&, Libre&, Mot$
Dim Source As Worksheet, Cible As Worksheet
Mot = InputBox("Mot à chercher :")
If Mot = "" Then Exit Sub
Set Source = ActiveSheet
Sheets.Add
Set Cible = ActiveSheet
Cible.Range("A1:O1").Value = Source.Range("A1:O1").Value
DerLi = Source.Cells(Rows.Count, "A").End(xlUp).Row
For i = DerLi To 2 Step -1
If Application.CountIf _
(Source.Range("A" & i & ":O" & i), "*" & Mot & "*") > 0
Then
Libre = Cible.Cells(Rows.Count, "A").End(xlUp).Row + 1
Cible.Range("A" & Libre & ":O" & Libre).Value = _
Source.Range("A" & i & ":O" & i).Value
End If
Next i
If Cible.Cells(Rows.Count, "A").End(xlUp).Row = 1 Then
Application.DisplayAlerts = False
Cible.Delete
Application.DisplayAlerts = True
MsgBox "'" & Mot & "' n'a pas été trouvé !"
End If
End SubMerci et bonne journée
JJ
FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !
Bonsoir,
Non, pas d'explication. Il n'y a pas de raison, a priori, de rencontrer ce
problème en copiant des données d'une feuille de calcul à une autre
(d'autant
qu'on ne fait pas vraiment de copie dans le code proposé), dans le même
classeur, sur la même machine...
C'est un problème rencontré quand on récupère en VBA des dates d'un
fichier
texte ou csv, ou qu'on envoie des dates entrées dans un contrôle qui
n'accepte
que du texte (textbox d'un userform ou inputbox par exemple) dans une
feuille de
calcul sans les convertir en date valide (avec la fonction CDate par ex).
Tu es peut-être dans ce cas si ton projet comprend d'autres éléments que
ceux
exposés au départ dans ta question.
FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !
re Frédéric
Je viens de remarquer que sur les cellules qui comprennent des dates,
celles-ci changent de format et passent du format français au format
anglais
?????????
As-tu une explication ??
JJ
"Jacky" <news.microsoft.com> a écrit dans le message news:
OH6emPR5DHA.1592@TK2MSFTNGP10.phx.gbl...
OK. Merci Frédéric
Bonne nuit
"Frédéric Sigonneau" <frederic.sigonneau@wanadoo.fr> a écrit dans le
message
news: 40167AEE.ADEE8480@wanadoo.fr...
Bonjour,
CountIf, c'est NB.SI. Il est possible en VBA d'utiliser les
fonctions de
feuille
de calcul (avec leur nom anglais) en utilisant soit
Application.WorksheetFunction soit Application tout court. Les *
sont
des
caractères génériques acceptés par NB.SI. Ils permettent de
rechercher
une
chaîne de caractères (ici dans la variable Mot) qui peut être
précédée
et/ou
suivie d'un ou plusieurs autres caractères dans une chaîne plus
importante.
FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !
Bonjour Frédéric
J'ai du faire une recherche pour ta réponse, je ne sais pas ce qui
ce
passe,
mais les messages de news ne s'affichent pas correctement chez moi
en
ce
moment .
Merci pour les codes qui fonctionnent parfaitement.
Pourrais-je abuser de ta compétence pour quelques explications
sur:
If Application.CountIf _
(Source.Range("A" & i & ":O" & i), "*" & Mot & "*") > 0
Then
Libre = Cible.Cells(Rows.Count, "A").End(xlUp).Row + 1
Cible.Range("A" & Libre & ":O" & Libre).Value = _
Source.Range("A" & i & ":O" & i).Value
End
Je ne connais pas "CountIf", et ne comprend pas les "*"
Serait ce fameux SOMMEPROD, si souvent employé ici ?
Merci et bonne journée
JJ
"Frédéric Sigonneau" <frederic.sigonneau@wanadoo.fr> a écrit dans
le
message
news: 4013CBC7.D81FEB0@wanadoo.fr...
Bonjour,
Bonjour à tous
J'ai un tableau de données(15col * 250 Lig(modifiable))
Je sélectionne un mot à travers un inputbox
Je voudrais que toutes les lignes qui ne comprennent PAS ce
mot
soit
cachées
Ce code peut faire cela :
Sub ChercheEtCache()
Dim DerLi&, i&, Libre&, Mot$
Mot = InputBox("Mot à chercher :")
If Mot = "" Then Exit Sub
DerLi = Cells(Rows.Count, "A").End(xlUp).Row
For i = DerLi To 2 Step -1
If Application.CountIf _
(Range("A" & i & ":O" & i), "*" & Mot & "*") = 0 Then
Range("A" & i).EntireRow.Hidden = True
End If
Next i
If Cells(Rows.Count, "A").End(xlUp).Row = 1 Then
Cells.EntireRow.Hidden = False
MsgBox "'" & Mot & "' n'a pas été trouvé !"
End If
End Sub
et éventuellement copiées dans une feuille rajoutée
automatiquement
les
lignes ou ce mot est contenu.
Pour cette alternative, utilise plutôt ce code :
Sub ChercheEtCopie()
Dim DerLi&, i&, Libre&, Mot$
Dim Source As Worksheet, Cible As Worksheet
Mot = InputBox("Mot à chercher :")
If Mot = "" Then Exit Sub
Set Source = ActiveSheet
Sheets.Add
Set Cible = ActiveSheet
Cible.Range("A1:O1").Value = Source.Range("A1:O1").Value
DerLi = Source.Cells(Rows.Count, "A").End(xlUp).Row
For i = DerLi To 2 Step -1
If Application.CountIf _
(Source.Range("A" & i & ":O" & i), "*" & Mot & "*") > 0
Then
Libre = Cible.Cells(Rows.Count, "A").End(xlUp).Row + 1
Cible.Range("A" & Libre & ":O" & Libre).Value = _
Source.Range("A" & i & ":O" & i).Value
End If
Next i
If Cible.Cells(Rows.Count, "A").End(xlUp).Row = 1 Then
Application.DisplayAlerts = False
Cible.Delete
Application.DisplayAlerts = True
MsgBox "'" & Mot & "' n'a pas été trouvé !"
End If
End Sub
Merci et bonne journée
JJ
FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !
Bonsoir,
Non, pas d'explication. Il n'y a pas de raison, a priori, de rencontrer ce
problème en copiant des données d'une feuille de calcul à une autre
(d'autant
qu'on ne fait pas vraiment de copie dans le code proposé), dans le même
classeur, sur la même machine...
C'est un problème rencontré quand on récupère en VBA des dates d'un
fichier
texte ou csv, ou qu'on envoie des dates entrées dans un contrôle qui
n'accepte
que du texte (textbox d'un userform ou inputbox par exemple) dans une
feuille de
calcul sans les convertir en date valide (avec la fonction CDate par ex).
Tu es peut-être dans ce cas si ton projet comprend d'autres éléments que
ceux
exposés au départ dans ta question.
FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !
re Frédéric
Je viens de remarquer que sur les cellules qui comprennent des dates,
celles-ci changent de format et passent du format français au format
anglais
?????????
As-tu une explication ??
JJ
"Jacky" <news.microsoft.com> a écrit dans le message news:OK. Merci Frédéric
Bonne nuit
"Frédéric Sigonneau" a écrit dans le
messagenews:Bonjour,
CountIf, c'est NB.SI. Il est possible en VBA d'utiliser les
fonctions de
feuillede calcul (avec leur nom anglais) en utilisant soit
Application.WorksheetFunction soit Application tout court. Les *
sont
descaractères génériques acceptés par NB.SI. Ils permettent de
rechercher
unechaîne de caractères (ici dans la variable Mot) qui peut être
précédée
et/ousuivie d'un ou plusieurs autres caractères dans une chaîne plus
importante.
FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !
Bonjour Frédéric
J'ai du faire une recherche pour ta réponse, je ne sais pas ce qui
ce
passe,mais les messages de news ne s'affichent pas correctement chez moi
en
cemoment .
Merci pour les codes qui fonctionnent parfaitement.
Pourrais-je abuser de ta compétence pour quelques explications
sur:
If Application.CountIf _
(Source.Range("A" & i & ":O" & i), "*" & Mot & "*") > 0
Then
Libre = Cible.Cells(Rows.Count, "A").End(xlUp).Row + 1
Cible.Range("A" & Libre & ":O" & Libre).Value = _
Source.Range("A" & i & ":O" & i).Value
End
Je ne connais pas "CountIf", et ne comprend pas les "*"
Serait ce fameux SOMMEPROD, si souvent employé ici ?
Merci et bonne journée
JJ
"Frédéric Sigonneau" a écrit dans
le
messagenews:Bonjour,
Bonjour à tous
J'ai un tableau de données(15col * 250 Lig(modifiable))
Je sélectionne un mot à travers un inputbox
Je voudrais que toutes les lignes qui ne comprennent PAS ce
mot
soitcachées
Ce code peut faire cela :
Sub ChercheEtCache()
Dim DerLi&, i&, Libre&, Mot$
Mot = InputBox("Mot à chercher :")
If Mot = "" Then Exit Sub
DerLi = Cells(Rows.Count, "A").End(xlUp).Row
For i = DerLi To 2 Step -1
If Application.CountIf _
(Range("A" & i & ":O" & i), "*" & Mot & "*") = 0 Then
Range("A" & i).EntireRow.Hidden = True
End If
Next i
If Cells(Rows.Count, "A").End(xlUp).Row = 1 Then
Cells.EntireRow.Hidden = False
MsgBox "'" & Mot & "' n'a pas été trouvé !"
End If
End Subet éventuellement copiées dans une feuille rajoutée
automatiquementleslignes ou ce mot est contenu.
Pour cette alternative, utilise plutôt ce code :
Sub ChercheEtCopie()
Dim DerLi&, i&, Libre&, Mot$
Dim Source As Worksheet, Cible As Worksheet
Mot = InputBox("Mot à chercher :")
If Mot = "" Then Exit Sub
Set Source = ActiveSheet
Sheets.Add
Set Cible = ActiveSheet
Cible.Range("A1:O1").Value = Source.Range("A1:O1").Value
DerLi = Source.Cells(Rows.Count, "A").End(xlUp).Row
For i = DerLi To 2 Step -1
If Application.CountIf _
(Source.Range("A" & i & ":O" & i), "*" & Mot & "*") > 0
Then
Libre = Cible.Cells(Rows.Count, "A").End(xlUp).Row + 1
Cible.Range("A" & Libre & ":O" & Libre).Value = _
Source.Range("A" & i & ":O" & i).Value
End If
Next i
If Cible.Cells(Rows.Count, "A").End(xlUp).Row = 1 Then
Application.DisplayAlerts = False
Cible.Delete
Application.DisplayAlerts = True
MsgBox "'" & Mot & "' n'a pas été trouvé !"
End If
End SubMerci et bonne journée
JJ
FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !
Bonsoir PhilippeIl y a peut être une piste de réponse à ta question (qui s'est donc collée
à la suite d'un fil initié le03/12/2003)
Chez moi, il est apparu dans le bon fil, mais à 17:27
Pour ce qui concerne ma recherche, le mot peut se trouver dans n'importe
quelle colonne et toutes les lignes.
J'ai essayé avec le filtre élaboré, sans succès. Je n'ai pas beaucoup
d'experience avec les filtres.
Salutations
JJ
"Philippe.R" a écrit dans le message news:Bonjour Jacky,
Il y a peut être une piste de réponse à ta question (qui s'est donc collée
à la suite d'un fil initié le03/12/2003)
avec l'utilisation du filtre, tout du moins pour ce qui est de masquer ;
tout dépends si le mot peut setrouver dans n'importe quelle colonne ou toujours dans la même.
Par ailleurs, n'oublie pas que l'enregistreur de macros est ton ami.
--
Amicales Salutations
Retirer A_S_ pour répondre.
XL97 / XL2002
Pour suivre le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)
"Jacky" a écrit dans le message de
news:%23z%Bonjour à tous
J'ai un tableau de données(15col * 250 Lig(modifiable))
Je sélectionne un mot à travers un inputbox
Je voudrais que toutes les lignes qui ne comprennent PAS ce mot soit
cachéeset éventuellement copiées dans une feuille rajoutée automatiquement les
lignes ou ce mot est contenu.
Merci et bonne journée
JJ
Slt,
Bonsoir Philippe
Il y a peut être une piste de réponse à ta question (qui s'est donc collée
à la suite d'un fil initié le
03/12/2003)
Chez moi, il est apparu dans le bon fil, mais à 17:27
Pour ce qui concerne ma recherche, le mot peut se trouver dans n'importe
quelle colonne et toutes les lignes.
J'ai essayé avec le filtre élaboré, sans succès. Je n'ai pas beaucoup
d'experience avec les filtres.
Salutations
JJ
"Philippe.R" <A_S_rauphil@wanadoo.fr> a écrit dans le message news:
O1FdiXp4DHA.2580@TK2MSFTNGP11.phx.gbl...
Bonjour Jacky,
Il y a peut être une piste de réponse à ta question (qui s'est donc collée
à la suite d'un fil initié le
03/12/2003)
avec l'utilisation du filtre, tout du moins pour ce qui est de masquer ;
tout dépends si le mot peut se
trouver dans n'importe quelle colonne ou toujours dans la même.
Par ailleurs, n'oublie pas que l'enregistreur de macros est ton ami.
--
Amicales Salutations
A_S_rauphil@wanadoo.fr
Retirer A_S_ pour répondre.
XL97 / XL2002
Pour suivre le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)
"Jacky" <Jackyenlevez.jaeg@wanadoo.fr> a écrit dans le message de
news:%23z%23wGqo4DHA.1052@TK2MSFTNGP12.phx.gbl...
Bonjour à tous
J'ai un tableau de données(15col * 250 Lig(modifiable))
Je sélectionne un mot à travers un inputbox
Je voudrais que toutes les lignes qui ne comprennent PAS ce mot soit
cachées
et éventuellement copiées dans une feuille rajoutée automatiquement les
lignes ou ce mot est contenu.
Merci et bonne journée
JJ
Slt,
Bonsoir PhilippeIl y a peut être une piste de réponse à ta question (qui s'est donc collée
à la suite d'un fil initié le03/12/2003)
Chez moi, il est apparu dans le bon fil, mais à 17:27
Pour ce qui concerne ma recherche, le mot peut se trouver dans n'importe
quelle colonne et toutes les lignes.
J'ai essayé avec le filtre élaboré, sans succès. Je n'ai pas beaucoup
d'experience avec les filtres.
Salutations
JJ
"Philippe.R" a écrit dans le message news:Bonjour Jacky,
Il y a peut être une piste de réponse à ta question (qui s'est donc collée
à la suite d'un fil initié le03/12/2003)
avec l'utilisation du filtre, tout du moins pour ce qui est de masquer ;
tout dépends si le mot peut setrouver dans n'importe quelle colonne ou toujours dans la même.
Par ailleurs, n'oublie pas que l'enregistreur de macros est ton ami.
--
Amicales Salutations
Retirer A_S_ pour répondre.
XL97 / XL2002
Pour suivre le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)
"Jacky" a écrit dans le message de
news:%23z%Bonjour à tous
J'ai un tableau de données(15col * 250 Lig(modifiable))
Je sélectionne un mot à travers un inputbox
Je voudrais que toutes les lignes qui ne comprennent PAS ce mot soit
cachéeset éventuellement copiées dans une feuille rajoutée automatiquement les
lignes ou ce mot est contenu.
Merci et bonne journée
JJ
Slt,