Comment indiquer dans quelles feuilles trouve-on telle valeur ?

MaRiCa

XLDnaute Nouveau
Bonjour à tous les mordus

Pourriez-vous m'aider à résoudre le problème suivant ? Mon problème est la suite logique du fil "récupération de données" dans lequel se trouve déjà la pièce jointe.
Mon fichier possède 53 feuilles correspondantes au nombre de semaine. Elles sont nommées W1 -> W53.
Dans chaque feuille j'enregistre mes interventions dans les cellules K11 à K45.
Je souhaiterais à partir d'une feuille de synthèse savoir dans quelles feuilles (donc à quelle semaine) j'ai effectué telle ou telle intervention.
Merci d'avance pour votre aide.
MaRiCa:confused:
 

MaRiCa

XLDnaute Nouveau
Re : Comment indiquer dans quelles feuilles trouve-on telle valeur ?

bonjour JOB75,
En effet, une usine à gaz qui me permet de faire le point sur l'ensembles des missions réalisées.
J'ai besoin de connaitre le nombre d'heure et la date (semaine) enregistés pour tel ou tel mission.
J'ai commencé une ébauche de code, mais visiblement j'ai une erreur (1004).
Pour info, sur chacune des feuilles j'ai associée la cellule O5 au nom de la feuille.
Où est mon erreur ?

Sub Mission_feuille()
Dim mis As Range, sh As Worksheet, cel As Range,

For Each mis In Range("B8:B" & Range("B65536").End(xlUp).Row)
For Each sh In Worksheets
f = 7
If sh.Index > 6 Then
For Each cel In sh.Range("I11:I" & sh.Range("I65536").End(xlUp).Row)
If CStr(cel) = CStr(mis) Then sh.Cells(5, 15).Copy_
Destination = Worksheets("Affaires 2009").Cells(mis.Offset(0, f))
f = f + 1
Next cel
End If
Next sh
Next mis
End Sub

Merci d'avance
 

job75

XLDnaute Barbatruc
Re : Comment indiquer dans quelles feuilles trouve-on telle valeur ?

Re,

Il me semble qu'à la place de :

Code:
If CStr(cel) = CStr(mis) Then sh.Cells(5, 15).Copy_
Destination = Worksheets("Affaires 2009").Cells(mis.Offset(0, f))
f = f + 1

il faudrait écrire :

Code:
If CStr(cel) = CStr(mis) Then
sh.Cells(5, 15).Copy Destination = Worksheets("Affaires 2009").Cells(mis.Offset(0, f))
f = f + 1
End If

A+
 
Dernière édition:

MaRiCa

XLDnaute Nouveau
Re : Comment indiquer dans quelles feuilles trouve-on telle valeur ?

Merci job75
Mais malheureusement ça ne marche pas.
En revanche j'essaie de me baser sur la macro de jp14 mais c'est trop costaud pour moi.
Je me retourne donc vers toi jp14.
Comment faire pour adapter ta macro qui fonction pour des recherche sur des lignes alors que mon besoin est de recherche dans une plage de I11 à N45 en sachant que je ne récupère pas les valeurs de toutes les colonnes mais seulement colonne 1, 3 et 5.
Merci de'avance de ton soutient.
MaRiCa

Pour mémoire mon fichier d'utilisation est sur le fil cité plus haut
 

jp14

XLDnaute Barbatruc
Re : Comment indiquer dans quelles feuilles trouve-on telle valeur ?

Bonsoir

Ci dessous le fichier avec les procédures modifiées.
Affichage des colonnes I K N.
Et utilisation des lignes 11 à 45 par le code
If cel.Row > 10 And cel.Row < 46 Then

A tester

JP
 

Pièces jointes

  • Feuille de temps2.zip
    30 KB · Affichages: 51

MaRiCa

XLDnaute Nouveau
Re : Comment indiquer dans quelles feuilles trouve-on telle valeur ?

Merci à toi JP14,
après toute une journée de recherche j'ai résolu mes points bloquants.
Par contre, je n'ai pas réussi à éviter une recherche sur 5 autres feuilles de mon classeur.
J'ai du les placer en dernier rang des onglets pour ne pas avoir de bugs.
Si a l'occasion tu as une petite formule pour limiter mes recherches aux feuilles W1 à W53 ce serait cool.
Pour l'instant cela ne m'empêche pas de fonctionner.
Merci encore
MaRiCa
 

jp14

XLDnaute Barbatruc
Re : Comment indiquer dans quelles feuilles trouve-on telle valeur ?

Bonjour

Il faut ajouter dans la variable nomfeuille4 = Array("Affaires 2009") le nom des feuilles qui n'interviennent pas pour la recherche.
Procédure recherche2
nomfeuille4 = Array("W1",.....,"W53")

JP
 

Statistiques des forums

Discussions
312 501
Messages
2 089 014
Membres
104 005
dernier inscrit
Maxence