VBA Copie de données spécifiques
Résolu
actaris51
Messages postés
93
Date d'inscription
Statut
Membre
Dernière intervention
-
actaris51 Messages postés 93 Date d'inscription Statut Membre Dernière intervention -
actaris51 Messages postés 93 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai un fichier de ce type :
http://www.cijoint.fr/cjlink.php?file=cj200908/cijYqzCPuM.xls
Sur ma feuille 1, j'ai mes données avec le responsable associé à chaque projet, comme dans l'exemple (!un responsable peut etre associé à plusieurs projets)
Je voudrais que dans ma feuille 2 s'ajoute automatiquement dans la colonne D (responsable), le responsable du projet associé dans la feuille 1.
Le problème est que ma liste de projet est dynamique et assez longue, il n'est donc pas possible de le faire manuellement.
Pouvez vous m'aiser ?
merci
J'ai un fichier de ce type :
http://www.cijoint.fr/cjlink.php?file=cj200908/cijYqzCPuM.xls
Sur ma feuille 1, j'ai mes données avec le responsable associé à chaque projet, comme dans l'exemple (!un responsable peut etre associé à plusieurs projets)
Je voudrais que dans ma feuille 2 s'ajoute automatiquement dans la colonne D (responsable), le responsable du projet associé dans la feuille 1.
Le problème est que ma liste de projet est dynamique et assez longue, il n'est donc pas possible de le faire manuellement.
Pouvez vous m'aiser ?
merci
A voir également:
- VBA Copie de données spécifiques
- Fuite données maif - Guide
- Copie cachée - Guide
- Super copie - Télécharger - Gestion de fichiers
- Copie écran samsung - Guide
- Copie disque dur - Guide
2 réponses
Bonjour,
Dans ton cas, la formule recherchev peut être utilisé :
=recherchev(projet;tableau;colonnedu responsable;faux)
projet = cellule ou se trouve ton projet
tableau : ta feuille1 mais ton projet doit être la première colonne de ton tableau
colonneduresponsable : le numéro de colonne ou se trouve ton responsable
faux : pour qu'il recherche d'une manière exacte
Comme ton fichier a l'air lourd, tu peux faire option calcul sur ordre ainsi ta formule ne se mettra à jour qu'en appuyant sur F9.
Si tu veux absolument une macro, enregistre la formule que je t'ai donnée automatiquement
sheets("feuille2").select
sub macro ()
dim i,j as string
i= 1 'première ligne
j = 1 'première colonne
cells(i,j+1).select
'tu copies ce que tu as enregistré manuellement
do while cells(i,j) <>""
i=i+1
cells(i,j).select
loop
cells(1,j+1).copy
range(cells(1,j+1),cells(i,j+1)).select
activesheet.paste
columns(j+1).copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
end sub
un conseil, fais le par F8 pour vérifier que ca marche
Dans ton cas, la formule recherchev peut être utilisé :
=recherchev(projet;tableau;colonnedu responsable;faux)
projet = cellule ou se trouve ton projet
tableau : ta feuille1 mais ton projet doit être la première colonne de ton tableau
colonneduresponsable : le numéro de colonne ou se trouve ton responsable
faux : pour qu'il recherche d'une manière exacte
Comme ton fichier a l'air lourd, tu peux faire option calcul sur ordre ainsi ta formule ne se mettra à jour qu'en appuyant sur F9.
Si tu veux absolument une macro, enregistre la formule que je t'ai donnée automatiquement
sheets("feuille2").select
sub macro ()
dim i,j as string
i= 1 'première ligne
j = 1 'première colonne
cells(i,j+1).select
'tu copies ce que tu as enregistré manuellement
do while cells(i,j) <>""
i=i+1
cells(i,j).select
loop
cells(1,j+1).copy
range(cells(1,j+1),cells(i,j+1)).select
activesheet.paste
columns(j+1).copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
end sub
un conseil, fais le par F8 pour vérifier que ca marche