Excel 2007: Chercher valeur d'1 cellule dans plusieurs feuilles
Résolu/Fermé
cs_douda06
Messages postés
67
Date d'inscription
jeudi 25 octobre 2007
Statut
Membre
Dernière intervention
1 avril 2015
-
Modifié par pijaku le 17/07/2014 à 07:54
cs_douda06 Messages postés 67 Date d'inscription jeudi 25 octobre 2007 Statut Membre Dernière intervention 1 avril 2015 - 17 juil. 2014 à 13:29
cs_douda06 Messages postés 67 Date d'inscription jeudi 25 octobre 2007 Statut Membre Dernière intervention 1 avril 2015 - 17 juil. 2014 à 13:29
A voir également:
- Excel 2007: Chercher valeur d'1 cellule dans plusieurs feuilles
- Liste déroulante excel - Guide
- Formule excel - Guide
- Save as pdf office 2007 - Télécharger - Bureautique
- Si et excel - Guide
- Aller à la ligne excel - Guide
4 réponses
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 743
Modifié par pijaku le 17/07/2014 à 08:01
Modifié par pijaku le 17/07/2014 à 08:01
Bonjour,
clnm_name étant une variable, il convient de ne pas la placer entre guillemets. Au lieu de
Sinon, plutôt que de faire colonne par colonne, tu pourrais utiliser la méthode find pour te renvoyer ton objet Range :
Cordialement,
Franck
clnm_name étant une variable, il convient de ne pas la placer entre guillemets. Au lieu de
"clnm_name:clnm_name":
clnm_name & ":" & clnm_name
Sinon, plutôt que de faire colonne par colonne, tu pourrais utiliser la méthode find pour te renvoyer ton objet Range :
Dim MyRange As Range For Each ws In ActiveWorkbook.Worksheets clom_num = ws.Range("A1").End(xlToRight).Column Set MyRange = ws.Range(Cells(1, 1), Cells(1, clom_num)).Cells.Find("Pick List Name") If Not MyRange Is Nothing Then 'Ici on a trouvé "Pick List Name" MsgBox MyRange.Address Else 'Ici on n'a pas trouvé End If Next
Cordialement,
Franck
cs_douda06
Messages postés
67
Date d'inscription
jeudi 25 octobre 2007
Statut
Membre
Dernière intervention
1 avril 2015
17 juil. 2014 à 11:38
17 juil. 2014 à 11:38
Bonjour pijaku,
Merci pour ta réponse, j'ai testé la méthode Find, mais ça me donne toujours la même erreur lors de l'exécution sur cette ligne :
Set MyRange = ws.Range(Cells(1, 1), Cells(1, clom_num)).Cells.Find("Pick List Name")
Erreur :La methode 'Range' de l'objet '_Worksheet' a échoué
est ce que ça a rapport avec le "ws" ?
Merci pour ta réponse, j'ai testé la méthode Find, mais ça me donne toujours la même erreur lors de l'exécution sur cette ligne :
Set MyRange = ws.Range(Cells(1, 1), Cells(1, clom_num)).Cells.Find("Pick List Name")
Erreur :La methode 'Range' de l'objet '_Worksheet' a échoué
est ce que ça a rapport avec le "ws" ?
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 743
Modifié par pijaku le 17/07/2014 à 11:49
Modifié par pijaku le 17/07/2014 à 11:49
Essayez ceci :
Cordialement,
Franck
Dim MyRange As Range, ws As Worksheet For Each ws In ActiveWorkbook.Worksheets With ws clom_num = .Range("A1").End(xlToRight).Column Set MyRange = .Range(.Cells(1, 1), .Cells(1, clom_num)).Cells.Find("Pick List Name") If Not MyRange Is Nothing Then 'Ici on a trouvé "Pick List Name" MsgBox MyRange.Address Else 'Ici on n'a pas trouvé End If End With Next
Cordialement,
Franck
cs_douda06
Messages postés
67
Date d'inscription
jeudi 25 octobre 2007
Statut
Membre
Dernière intervention
1 avril 2015
Modifié par pijaku le 17/07/2014 à 12:06
Modifié par pijaku le 17/07/2014 à 12:06
J'ai trouvé comment faire à l'aide de la méthode Find .. finalement hihi .. voila la réponse:
Merci pijaku :):)
For Each ws In ActiveWorkbook.Sheets Set MyRange= ws.Rows(1).Find("Pick List Name", , xlValues, xlWhole) If Not MyRange Is Nothing Then With ws.Columns(MyRange.Column).Validation .Delete .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _ xlBetween, Formula1:=Liste .InCellDropdown = True End With End If Next ws
Merci pijaku :):)
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 743
Modifié par pijaku le 17/07/2014 à 12:12
Modifié par pijaku le 17/07/2014 à 12:12
De rien...
Alors, oui, mais...
Dans ton cas,
A ta place j'utiliserais le dernier code que je t'ai donné, --> ICI <--
Pourquoi?
Parce que lorsque tu utilises la méthode find, Excel "enregistre" certains de ces paramètres, et notamment LookIn et LookAt (Voir ==> ICI <==)
Comme tu ne spécifies rien, les valeurs par défaut (qui sont
Alors, oui, mais...
Dans ton cas,
xlvalueset
xlwholene me semblent pas indispensables...
A ta place j'utiliserais le dernier code que je t'ai donné, --> ICI <--
Pourquoi?
Parce que lorsque tu utilises la méthode find, Excel "enregistre" certains de ces paramètres, et notamment LookIn et LookAt (Voir ==> ICI <==)
Comme tu ne spécifies rien, les valeurs par défaut (qui sont
xlValueset
xlWhole) te conviennent tout à fait... Cela t'évitera de te creuser la tête une éternité la prochaine fois que tu utilises Find et que cela ne fonctionne pas.......
cs_douda06
Messages postés
67
Date d'inscription
jeudi 25 octobre 2007
Statut
Membre
Dernière intervention
1 avril 2015
17 juil. 2014 à 13:29
17 juil. 2014 à 13:29
Ah super, merci pour l'explication, je ne me suis même pas prise la peine de comprendre ce que c'etait xlValue et xlWhole..
Merci encore et bonne journée :)
Merci encore et bonne journée :)