Copiés des données par sa valeur

dform -  
 dform -
Bonjour,

J'aimerai copier des données d'un classeur source à un classeur cible en utilisant non l'emplacement de la ligne, mais les valeurs du classeur, en macro.
En effet, j'aimerai copier les valeurs correspondant à la ligne par exemple Essai1 est les copier dans le tableau d'un autre classeur.

Pour être plus explicite j'ai rajouté un exemple de fichiers : le fichier « stat » est le fichier source et le fichier « tableau_final » est le fichier cible.

Remerciant par avance toutes personnes qui pourrait m'aider

http://www.cjoint.com/?3GpqjcSN3Jc


A voir également:

3 réponses

michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
Bonjour

Avec un peu de retard mais...

proposition
https://www.cjoint.com/?3GqrXBcBaWi

je n'ai pas compris pourquoi tu avais possibilité de 11 essais dans "start" seulement 5 lignes disponibles dans "tableau final"
0
dform
 
Bonjour, merci de votre réponse , j'aurai juste qqs questions, je les ai posé plus bas.

Merci
0
HP45
 
PS:c'est dform au passage

Bonjour michel_m

merci de m'avoir aidé.
par contre j'aurai qqs petites questions.
Comme c'est un fichier professionnel je n'ai pas mis toute les informations.
j'ai repris votre code et essayé de l'adapter à ma situation ce qui ne marche malheureusement pas.

De plus, j'aimerai recopier que les pourcentages et non les titres dans le tableau final donc partir de la colonne B.

Si vous pouvez encore m'aider,
merci beaucoup

PS: pourriez vous me commenter en détail votre code, car je n'ai pas tous bien compris, par exemple quel est l'utilité de Ubound ici ?

Const chemin As String = "*******" 'A ADAPTER




Application.ScreenUpdating = False
'ouverture stat.xls
Workbooks.Open chemin & "stat.xls"
Rech1 = "'% d'unités de travail ayant réalisé au moins une réunion CDD par mois"
Rech2 = "'% d'unités de travail ayant réalisé au moins un exercice CDD dans l'année"
Rech3 = "'% d'unités de travail ayant réalisé au moins une visite CDD par mois"
Rech4 = "'% d'actions réalisées par rapport au nombre total d'actions"
Rech5 = "' Priorité 1"

'collecte des résultats d'essais
With ActiveWorkbook.Sheets(1)
'---initialisations
Nbre = Application.CountIf(.Columns("B"), Rech1 & Rech2 & Rech3 & Rech4 & Rech5)
ReDim T_essai(Nbre, 23)
Derlig = .Columns("B").Find(Rech1, Rech2, Rech3, Rech4, Rech5, xlPrevious).Row
T_stat = .Range("B4:X" & Derlig)
'---remplissage du tableau collé dand "tableau final"
For Idx = 1 To UBound(T_stat)
If T_stat(Idx, 1) Like Rech1 And Rech2 And Rech3 And Rech4 And Rech5 Then
Cptr = Cptr + 1
For Col = 2 To 23
T_essai(Cptr, Col) = T_stat(Idx, Col)
Next Col
End If
Next Idx
End With
With ThisWorkbook.Sheets(1)
'.Range("A2:W6").ClearContents
.Range("B2").Resize(Nbre, 23) = T_essai
.Activate
End With


0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
Bonjour,

omme c'est un fichier professionnel je n'ai pas mis toute les informations.
j'ai repris votre code et essayé de l'adapter à ma situation ce qui ne marche malheureusement pas.
--


Il faut bien te rendre compte que ce que tu demandes n'est pas forcément facile et que personne ne veut passer parfois plusieurs heures à essayer de résoudre un problème bénévolement pour se voir dire après coup « non vous n'avez pas compris mon problème (rarement: excusez moi, je n'ai pas bien expliqué).Dans la réalité, il faut en plus que.... »


Michel
0
dform
 
Je m'excuse, je me suis juste mal exprimé , votre code correspondait parfaitement à ce que je voulais , à ce que j'avais demandé dans ma question. vous aviez donc très bien compris mon pb.

Je voulais vous re-demander de l'aide pcq j'ai essayé de reprende votre code et de l'adapter à ma situations qui n'était pas tous à fait la même chose que dans ma question pour apprendre tout seul, mes je n'ai pas réussi.
De plus ,mon but n'était pas de vous blesser, je trouve admirable que des pers nous aide gratuitement


C'est juste que je voulais savoir comment copier par rapport à des titres diffferents, pcq dans votre code vous avez repris essai et vous l'incrementier de 1 à chaque fois si je me trompe pas?

sinon,merci encore pour votre aide.
0