Rechercher puis récupérer données VBA

Fermé
Yan - 14 févr. 2011 à 10:33
michel_m Messages postés 16602 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 17 févr. 2011 à 15:00
Bonjour,
Je possede deux fichiers excel.
Le premier est constitué d'une seule feuille. En colonne se trouve des Noms (durand, Michou etc...) et en ligne des semaines. S01, S02, S03 etc. En données j'ai des heures.
Un simple tableau a 2 entrées. qui se lit comme ceci :ex: Michou à travaillé 2 heures en S01.


Mon deuxieme fichier, lui fonctionne par feuilles (Feuill1 = S01 etc)
Dans ma feuille 1, donc la feuille de la semaine "S01", je retrouve mes noms en colonne, mais sans les heures réalisées.

Je souhaiterais réaliser une macro dans mon 2eme fichier.

Celle ci me demanderait quelle semaine importer. ( textbox dans lequel je rentre S#)
La elle va m'ouvrir mon fichier 1, va me faire la recherche de la colonne S06, puis va mettre les bonnes heures de michou dans le fichier 2.

Je vous remercie d'avance. Car je suis loin d'être un king sous VB.

Yan

3 réponses

michel_m Messages postés 16602 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 313
Modifié par michel_m le 14/02/2011 à 12:35
Bonjour

essaies cette macro

Sub semainier() 
Dim sem As String 
Dim dercol As Byte, lig As Byte 
Dim durees As Range 

sem = InputBox("numéro semaine ") 
On Error GoTo erreur 

Application.ScreenUpdating 
ThisWorkbook.Sheets(sem).Activate 
On Error Resume Next 

 Workbooks.Open Filename:="D:\documents\Classeur1.xls" 
 On Error GoTo 0 
 dercol = Range("IV1").End(xlToLeft).Column 
 lig = Columns(1).Find(sem, Range("A1"), xlValues).Row 
 Set durees = Range(Cells(lig, 2), Cells(lig, dercol)) 
  
 With ThisWorkbook.Sheets(sem) 
    With .Range(.Cells(2, 1), .Cells(2, dercol - 1)) 
        .Value = durees.Value 
        .NumberFormat = "[hh]:mm:ss" 
    End With 
.Activate 
End With 
Exit Sub 

erreur: 
MsgBox "saisie incorrecte", vbCritical 

End Sub 


tit démo
https://www.cjoint.com/?3comIajdKUg
Michel
0
Tout d'abord, Merci bcp cela m'a fait bien avancer... Même si ma limite de compétence était dépassé à la ligne 2.
Pourtant je constate que dans ton fichier cela fonctionne.

Il y a un truc qui différe dans mon fichier.

Je la fait courte.

Chez moi dans le fichier 1 comme dans le 2, j'ai mes noms en colonne et pas en ligne.

donc c'est:
S01 S02 S03 S04
zaza1
zaza2
zaza3
zaza4


Encore merci

PS: je n'ai pas de zaza dans mon équipe ;-)
0
michel_m Messages postés 16602 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 313
14 févr. 2011 à 19:12
Re,

J'avais confondu les colonnes et les lignes (excuse facile: c'est lundi)

https://www.cjoint.com/?3cotjrpOeKA

tu as maintenant plein de Michou au lieu de plein de zaza: fais attention, les Michel, ça a mauvais caractère !!!

0
Salut Michel,

J'ai constaté avec merveille que sur tes fichiers cela fonctionne.
Mais avec grande tristesse sur les miens non.

Mon Michou ne veux pas trouver ces heures. T'avais raison ils ont pas un caractère facile.

Workbooks.Open Filename:="P:\test.xls"
On Error GoTo 0
lig = Range("A460").End(xlUp).Row
col = Rows(1).Find(sem, Range("A1"), xlValues).Column
Set durees = Range(Cells(2, col), Cells(lig, col))

Voilà à la ligne soulignée VBA me dit le message suivant:

Erreur d'exécution ' 91'

Variable objet ou variable de bloc With non définie.

(Pas d'erreur dans le mess j'ai vérifié 2 fois)

As tu une idée de pourquoi il s'acharne?

Encore une fois, merci d'avance.

Yan
0
michel_m Messages postés 16602 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 313
16 févr. 2011 à 18:56
Donc
version XL ?
et
envoie tes 2 fichiers en un seul zip sans données confidentielles en pièce jointe (format XL97-2003) sur
http://cijoint.fr/
et coller le lien proposé dans le message de réponse
0
voilà mes deux fichiers.
effectivement j'ai planqué le confidentiel.
je m'excuse c'est du copier valeur... mais confidentialité oblige.

je t'ai mis des bulles explicatives. et les champs de couleurs sont les zones ou il faut preter attention.

voici le lien.
meme fichier 1 et 2 et toujours tout plein de michou.

http://www.cijoint.fr/cjlink.php?file=cj201102/cijrfcagGF.zip

merci beaucoup
0
michel_m Messages postés 16602 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 313
17 févr. 2011 à 15:00
Bonjour,

Tu m'étonnes que cela ne marchait pas chez toi !!!! Ta demande n'avait peu à voir avec la réalité de tes fichiers. tu verras que la macro est donc "légérement" plus complexe qu'au départ !!! :-)

La prochaine fois que tu demandes de l'aide, il est indispensable que tu sois précise dans ta demande et quand cela est compliqué comme aujourd'hui, joins tes fichiers dès le 1° post
Il serait bon aussi que tu t'inscrives sur CCM

ci joint la bestiole (délai PJ: 4 jours)
https://www.cjoint.com/?3cro5cwztOw
0