paramètre de la fonction Array

Le
Michel MTO
Bonjour à toutes et à tous,

je voudrais écrire ceci, où MonAnnée et MaRecherche sont des variables, mais
la synthaxe n'est pas bonne :

Sheets(Array("Janvier " & MonAnnée , "Février " & MonAnnée, "Mars " _
& MonAnnée, "Avril " & MonAnnée, "Mai " & MonAnnée, "Juin " & MonAnnée,
"Juillet " _
& MonAnnée, "Août " & MonAnnée, "Septembre " & MonAnnée, "Octobre " _
& MonAnnée, "Novembre " & MonAnnée, "Décembre " &
MonAnnée)).Find(What:=MaRecherche, after:¬tiveCell, LookIn:=xlValues,
LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:úlse) _
.Activate

L'erreur retournée : Erreur d'exécution 438, Propriété ou méthode non gérée
par cet objet !!

Pourriez vous m'indiquez la synthaxe exacte.

Merci par avance

Michel MTO
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
michdenis
Le #22193151
Bonjour,

Pour reprendre un exemple simple :

Ceci fonctionne
Sheets(Array("Feuil1", "Feuil2", "Feuil3")).Select

Mais tu ne peux utiliser la propriété "Activate" à un tableau de feuille
Sheets(Array("Feuil1", "Feuil2", "Feuil3")).Activate

Sauf si toutes tes feuilles sont sélectionnées et que tu veux rendre
active une feuille particulière tout en conservant la sélection intacte
alors tu peux écrire :
Sheets("Feuil2").Activate


"Michel MTO" discussion : hu02r8$hvo$
Bonjour à toutes et à tous,

je voudrais écrire ceci, où MonAnnée et MaRecherche sont des variables, mais
la synthaxe n'est pas bonne :

Sheets(Array("Janvier " & MonAnnée , "Février " & MonAnnée, "Mars " _
& MonAnnée, "Avril " & MonAnnée, "Mai " & MonAnnée, "Juin " & MonAnnée,
"Juillet " _
& MonAnnée, "Août " & MonAnnée, "Septembre " & MonAnnée, "Octobre " _
& MonAnnée, "Novembre " & MonAnnée, "Décembre " &
MonAnnée)).Find(What:=MaRecherche, after:¬tiveCell, LookIn:=xlValues,
LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:úlse) _
.Activate

L'erreur retournée : Erreur d'exécution 438, Propriété ou méthode non gérée
par cet objet !!

Pourriez vous m'indiquez la synthaxe exacte.

Merci par avance

Michel MTO
Michel MTO
Le #22193971
Bonjour Denis,

Ce que je cherche à faire :
1) Sélectionner toutes les feuilles de janvier à décembre (avec la variante
sur l'année), qui se trouve dans mon classeur, dans lequel d'autres feuilles
existent.
2) Je propose une invite (MaRecherche=inputbox"(Entrer votre recherche"))
avec le texte à rechercher
3)Je recherche Dans les 12 feuilles de l'année et j'active la 1ère cellule
trouvée.
4) je fait apparaitre un msbox = > est ce bien la cellule que vous
recherchez, si oui exit de la procèdure, sinon on continue la recherche
toujours dans les 12 feuilles et j'active l'occurence suivante trouvée => le
message réapparait => est ce bien la cellule que vous recherchez, si oui
exit de la procèdure, sinon on continue la recherche toujours dans les 12
feuilles et j'active l'occurence suivante trouvée, etc...

J'espère être clair

Merci

Michel MTO

"michdenis" news:
Bonjour,

Pour reprendre un exemple simple :

Ceci fonctionne
Sheets(Array("Feuil1", "Feuil2", "Feuil3")).Select

Mais tu ne peux utiliser la propriété "Activate" à un tableau de feuille
Sheets(Array("Feuil1", "Feuil2", "Feuil3")).Activate

Sauf si toutes tes feuilles sont sélectionnées et que tu veux rendre
active une feuille particulière tout en conservant la sélection intacte
alors tu peux écrire :
Sheets("Feuil2").Activate


"Michel MTO"

de
discussion : hu02r8$hvo$
Bonjour à toutes et à tous,

je voudrais écrire ceci, où MonAnnée et MaRecherche sont des variables,


mais
la synthaxe n'est pas bonne :

Sheets(Array("Janvier " & MonAnnée , "Février " & MonAnnée, "Mars " _
& MonAnnée, "Avril " & MonAnnée, "Mai " & MonAnnée, "Juin " &


MonAnnée,
"Juillet " _
& MonAnnée, "Août " & MonAnnée, "Septembre " & MonAnnée, "Octobre " _
& MonAnnée, "Novembre " & MonAnnée, "Décembre " &
MonAnnée)).Find(What:=MaRecherche, after:¬tiveCell, LookIn:=xlValues,
LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:úlse) _
.Activate

L'erreur retournée : Erreur d'exécution 438, Propriété ou méthode non


gérée
par cet objet !!

Pourriez vous m'indiquez la synthaxe exacte.

Merci par avance

Michel MTO

michdenis
Le #22194231
Je te propose une procédure qui devrait faire ce que tu recherches.

Au sujet de la recherche, si la recherche doit se faire sur le contenu de la
cellule entière plutôt que sur une partie de son contenu, tu dois modifier
le paramètre suivant :
LookAt:=xlPart pour LookAt:=xlWhole

'-------------------------------------
Sub SearchAllSheets()
Dim strSearchString As String
Dim ws As Worksheet
Dim foundCell As Range
Dim returnValue As Variant
Dim loopAddr As String

strSearchString = InputBox(Prompt:= _
"Entrer la chaîne recherchée.", _
Title:=ThisWorkbook.Name)
For Each ws In Worksheets
With ws
.Activate
Set foundCell = .Cells.Find( _
What:=strSearchString, _
LookIn:=xlValues, _
LookAt:=xlPart)
If Not foundCell Is Nothing Then
loopAddr = foundCell.Address
Do
foundCell.Activate
returnValue = MsgBox("Trouvé """ & strSearchString & _
""" à " & foundCell.Address, _
vbOKCancel, ActiveSheet.Name)
If returnValue = vbCancel Then Exit For
Set foundCell = .Cells.FindNext( _
After:=foundCell)
Loop While Not foundCell Is Nothing And _
foundCell.Address <> loopAddr
End If
End With
Next ws
End Sub
'-------------------------------------





"Michel MTO" discussion : hu0em2$302$
Bonjour Denis,

Ce que je cherche à faire :
1) Sélectionner toutes les feuilles de janvier à décembre (avec la variante
sur l'année), qui se trouve dans mon classeur, dans lequel d'autres feuilles
existent.
2) Je propose une invite (MaRecherche=inputbox"(Entrer votre recherche"))
avec le texte à rechercher
3)Je recherche Dans les 12 feuilles de l'année et j'active la 1ère cellule
trouvée.
4) je fait apparaitre un msbox = > est ce bien la cellule que vous
recherchez, si oui exit de la procèdure, sinon on continue la recherche
toujours dans les 12 feuilles et j'active l'occurence suivante trouvée => le
message réapparait => est ce bien la cellule que vous recherchez, si oui
exit de la procèdure, sinon on continue la recherche toujours dans les 12
feuilles et j'active l'occurence suivante trouvée, etc...

J'espère être clair

Merci

Michel MTO

"michdenis" news:
Bonjour,

Pour reprendre un exemple simple :

Ceci fonctionne
Sheets(Array("Feuil1", "Feuil2", "Feuil3")).Select

Mais tu ne peux utiliser la propriété "Activate" à un tableau de feuille
Sheets(Array("Feuil1", "Feuil2", "Feuil3")).Activate

Sauf si toutes tes feuilles sont sélectionnées et que tu veux rendre
active une feuille particulière tout en conservant la sélection intacte
alors tu peux écrire :
Sheets("Feuil2").Activate


"Michel MTO"

de
discussion : hu02r8$hvo$
Bonjour à toutes et à tous,

je voudrais écrire ceci, où MonAnnée et MaRecherche sont des variables,


mais
la synthaxe n'est pas bonne :

Sheets(Array("Janvier " & MonAnnée , "Février " & MonAnnée, "Mars " _
& MonAnnée, "Avril " & MonAnnée, "Mai " & MonAnnée, "Juin " &


MonAnnée,
"Juillet " _
& MonAnnée, "Août " & MonAnnée, "Septembre " & MonAnnée, "Octobre " _
& MonAnnée, "Novembre " & MonAnnée, "Décembre " &
MonAnnée)).Find(What:=MaRecherche, after:¬tiveCell, LookIn:=xlValues,
LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:úlse) _
.Activate

L'erreur retournée : Erreur d'exécution 438, Propriété ou méthode non


gérée
par cet objet !!

Pourriez vous m'indiquez la synthaxe exacte.

Merci par avance

Michel MTO

isabelle
Le #22194301
bonjour Michel,

Sub Recherche_et_next()
For Each f In Sheets(Array("Feuil1", "Feuil2", "Feuil3", "Feuil4",
"Feuil5"))
Sheets(f.Name).Select
With f.Cells
Set c = .Find(What:="toto")
If Not c Is Nothing Then
Range(c.Address).Select
firstaddress = c.Address
rep = MsgBox("adresse - " & c.Address & " - trouver,
voulez-vous continuer ?", vbYesNo)
If rep <> 6 Then Exit Sub
Set c = .FindNext(c)
Do While c.Address <> firstaddress And Not c Is Nothing
Range(c.Address).Select
rep = MsgBox("adresse - " & c.Address & " - trouver,
voulez-vous continuer ?", vbYesNo)
If rep <> 6 Then Exit Sub
Set c = .FindNext(c)
Loop
End If
End With
Next
End Sub

isabelle

Le 2010-05-31 09:48, Michel MTO a écrit :
Bonjour Denis,

Ce que je cherche à faire :
1) Sélectionner toutes les feuilles de janvier à décembre (avec la variante
sur l'année), qui se trouve dans mon classeur, dans lequel d'autres feuilles
existent.
2) Je propose une invite (MaRecherche=inputbox"(Entrer votre recherche"))
avec le texte à rechercher
3)Je recherche Dans les 12 feuilles de l'année et j'active la 1ère cellule
trouvée.
4) je fait apparaitre un msbox => est ce bien la cellule que vous
recherchez, si oui exit de la procèdure, sinon on continue la recherche
toujours dans les 12 feuilles et j'active l'occurence suivante trouvée => le
message réapparait => est ce bien la cellule que vous recherchez, si oui
exit de la procèdure, sinon on continue la recherche toujours dans les 12
feuilles et j'active l'occurence suivante trouvée, etc...

J'espère être clair

Merci

Michel MTO

"michdenis" news:

Bonjour,

Pour reprendre un exemple simple :

Ceci fonctionne
Sheets(Array("Feuil1", "Feuil2", "Feuil3")).Select

Mais tu ne peux utiliser la propriété "Activate" à un tableau de feuille
Sheets(Array("Feuil1", "Feuil2", "Feuil3")).Activate

Sauf si toutes tes feuilles sont sélectionnées et que tu veux rendre
active une feuille particulière tout en conservant la sélection intacte
alors tu peux écrire :
Sheets("Feuil2").Activate


"Michel MTO"


de

discussion : hu02r8$hvo$
Bonjour à toutes et à tous,

je voudrais écrire ceci, où MonAnnée et MaRecherche sont des variables,



mais

la synthaxe n'est pas bonne :

Sheets(Array("Janvier "& MonAnnée , "Février "& MonAnnée, "Mars " _
& MonAnnée, "Avril "& MonAnnée, "Mai "& MonAnnée, "Juin "&



MonAnnée,

"Juillet " _
& MonAnnée, "Août "& MonAnnée, "Septembre "& MonAnnée, "Octobre " _
& MonAnnée, "Novembre "& MonAnnée, "Décembre "&
MonAnnée)).Find(What:=MaRecherche, after:¬tiveCell, LookIn:=xlValues,
LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:úlse) _
.Activate

L'erreur retournée : Erreur d'exécution 438, Propriété ou méthode non



gérée

par cet objet !!

Pourriez vous m'indiquez la synthaxe exacte.

Merci par avance

Michel MTO






Michel MTO
Le #22194371
Merci encore une fois, au poil.

Je m'était mal orienté dans la rédaction de ma procèdure, je m'appuyais sur
le code généré par l'enregistrement auto !!

à bientôt sur answers ? ou ponx ?

Michel MTO

"michdenis" news:
Je te propose une procédure qui devrait faire ce que tu recherches.

Au sujet de la recherche, si la recherche doit se faire sur le contenu de


la
cellule entière plutôt que sur une partie de son contenu, tu dois modifier
le paramètre suivant :
LookAt:=xlPart pour LookAt:=xlWhole

'-------------------------------------
Sub SearchAllSheets()
Dim strSearchString As String
Dim ws As Worksheet
Dim foundCell As Range
Dim returnValue As Variant
Dim loopAddr As String

strSearchString = InputBox(Prompt:= _
"Entrer la chaîne recherchée.", _
Title:=ThisWorkbook.Name)
For Each ws In Worksheets
With ws
.Activate
Set foundCell = .Cells.Find( _
What:=strSearchString, _
LookIn:=xlValues, _
LookAt:=xlPart)
If Not foundCell Is Nothing Then
loopAddr = foundCell.Address
Do
foundCell.Activate
returnValue = MsgBox("Trouvé """ & strSearchString & _
""" à " & foundCell.Address, _
vbOKCancel, ActiveSheet.Name)
If returnValue = vbCancel Then Exit For
Set foundCell = .Cells.FindNext( _
After:=foundCell)
Loop While Not foundCell Is Nothing And _
foundCell.Address <> loopAddr
End If
End With
Next ws
End Sub
'-------------------------------------





"Michel MTO"

de
discussion : hu0em2$302$
Bonjour Denis,

Ce que je cherche à faire :
1) Sélectionner toutes les feuilles de janvier à décembre (avec la


variante
sur l'année), qui se trouve dans mon classeur, dans lequel d'autres


feuilles
existent.
2) Je propose une invite (MaRecherche=inputbox"(Entrer votre recherche"))
avec le texte à rechercher
3)Je recherche Dans les 12 feuilles de l'année et j'active la 1ère cellule
trouvée.
4) je fait apparaitre un msbox = > est ce bien la cellule que vous
recherchez, si oui exit de la procèdure, sinon on continue la recherche
toujours dans les 12 feuilles et j'active l'occurence suivante trouvée =>


le
message réapparait => est ce bien la cellule que vous recherchez, si oui
exit de la procèdure, sinon on continue la recherche toujours dans les 12
feuilles et j'active l'occurence suivante trouvée, etc...

J'espère être clair

Merci

Michel MTO

"michdenis" news:
> Bonjour,
>
> Pour reprendre un exemple simple :
>
> Ceci fonctionne
> Sheets(Array("Feuil1", "Feuil2", "Feuil3")).Select
>
> Mais tu ne peux utiliser la propriété "Activate" à un tableau de feuille
> Sheets(Array("Feuil1", "Feuil2", "Feuil3")).Activate
>
> Sauf si toutes tes feuilles sont sélectionnées et que tu veux rendre
> active une feuille particulière tout en conservant la sélection intacte
> alors tu peux écrire :
> Sheets("Feuil2").Activate
>
>
> "Michel MTO" de
> discussion : hu02r8$hvo$
> Bonjour à toutes et à tous,
>
> je voudrais écrire ceci, où MonAnnée et MaRecherche sont des variables,
mais
> la synthaxe n'est pas bonne :
>
> Sheets(Array("Janvier " & MonAnnée , "Février " & MonAnnée, "Mars "


_
> & MonAnnée, "Avril " & MonAnnée, "Mai " & MonAnnée, "Juin " &
MonAnnée,
> "Juillet " _
> & MonAnnée, "Août " & MonAnnée, "Septembre " & MonAnnée, "Octobre "


_
> & MonAnnée, "Novembre " & MonAnnée, "Décembre " &
> MonAnnée)).Find(What:=MaRecherche, after:¬tiveCell, LookIn:=xlValues,
> LookAt:= _
> xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext,
> MatchCase:úlse) _
> .Activate
>
> L'erreur retournée : Erreur d'exécution 438, Propriété ou méthode non
gérée
> par cet objet !!
>
> Pourriez vous m'indiquez la synthaxe exacte.
>
> Merci par avance
>
> Michel MTO
>
Michel MTO
Le #22194421
Bonjour Isabelle,
Je te remercie pour ta proposition, qui m'a l'air également intéressante.

je regarde çà, en détail.

Michel MTO
Publicité
Poster une réponse
Anonyme