piocher des valeurs de cellules dans un autre classeur

tomalstom64

XLDnaute Nouveau
Bonjour à tous,
je travaille sur plusieurs fichiers excels: "BaseLog" et "Coffre_traction". Coffre traction contient une dizaine de feuilles. "BaseLog" ne contient qu'une seule feuille et il récapitule toutes les données des feuilles du "Coffre_traction" en une seule feuille.
Le problème que j'ai est que je ne sais pas comment réussir à piocher les données des feuilles du fichier "Coffre_traction" et les insérer dans le fichier "BaseLog".

J'ai réussi a faire des "copier coller" mais cela prend un temps fou! quelqu'un aurait-il un solution plus adéquate?

Merci d'avance à toutes et à tous
 

tomalstom64

XLDnaute Nouveau
Re : piocher des valeurs de cellules dans un autre classeur

D'accord je vais faire ceci et j'ai une autre question:
Savez vous comment faire pour insérer les chemins d'accès dans une cellule au lieu de les insérer dans le module de codage. Je code sous VBA.
Merci d'avoir pris le soin de me répondre.
 

Dranreb

XLDnaute Barbatruc
Re : piocher des valeurs de cellules dans un autre classeur

Bonjour.
Je ne comprend pas votre question. À tout hasard: c'est la propriété FullName ou Path d'un objet WorkBook.
Mais c'est peut être aussi la méthode Address avec paramètre External:=True, ça dépend de ce que vous chercher.
À +
 

tomalstom64

XLDnaute Nouveau
Re : piocher des valeurs de cellules dans un autre classeur

Par exemple pour ouvrir un fichier à partir du module de codage on tape Workbooks.Open("chemin d'accès\nom_du_fichier") mais je ne veux pas l'ouvrir à partir du module de codage mais je voudrais insérer le chemin d'accès dans la cellule et ouvrir le fichier depuis celle-ci
 

Dranreb

XLDnaute Barbatruc
Re : piocher des valeurs de cellules dans un autre classeur

Qu'est ce qui vous empêche de noter votre chemin dans une cellule et de l'ouvrir au moyen d'une Worksheet.Selection_Change dans le module de la feuille ?
Moi, je n'aime pas, mais si vous ne voulez vraiment pas vous casser la tête et si le classeur ne change pas trop de place, mettez un lien hypertexte.
À +
 

tomalstom64

XLDnaute Nouveau
Re : piocher des valeurs de cellules dans un autre classeur

bonjour à tous,
sur une ligne de mon fichier Excel certaines valeurs sont identiques... Je voudrais donc supprimer tous les doublons de cette ligne et ne garder qu'une seule valeur... Je code en vba excel 2007. Merci d'avance!!!
 

Dranreb

XLDnaute Barbatruc
Re : piocher des valeurs de cellules dans un autre classeur

Bonjour.
Il y a plusieurs solutions.
Il y a celle qui consisterait à utiliser une colonne pour y mettre une formule du genre
Columns("X").FormulaR1C1 = "=IF(COUNTIF(R1C1:R[-1]C1,RC1)>0,"A",0)"
Puis à en supprimer les lignes entières à l'aide d'un SpecialCells qui n'en retiendrait que les formules String
Cordialement.
 

Sheldor

XLDnaute Occasionnel
Supporter XLD
Re : piocher des valeurs de cellules dans un autre classeur

bonjour,
je ne suis pas sûr d'avoir compris mais quand j'ai besoin de la valeur de quelques cellules dans des centaines de fichier identiques je ne les ouvre pas tous je mets une liste des fichiers en ligne et j'utilise quelque chose comme

For ligne = 7 To Range("A65536").End(xlUp).Row
Cells(ligne, col) = "='" & Cells(ligne, 1).Value & "[" & Cells(ligne, 2).Value & "]" & Cells(5, col).Value
Next ligne


en colonne 1 le chemin, en colonne 2 le nom de mon fichier, et cells 5,col c'est ma cellule avec l'emplacement, par exemple feuille'!$S$10
à adapter

la rapidité varie curieusement, souvent lent la première fois puis ça peut aller très très vite, en tout cas rentable pour ne pas ouvrir les fichiers lourds

bonne journée
 

tomalstom64

XLDnaute Nouveau
Re : piocher des valeurs de cellules dans un autre classeur

Bonjour, je vous envoie un exemple: vous verrez apparaître sur la même ligne "Clé dynamométrique" plusieurs fois... Mais je souhaite garder cette valeur qu'une seule fois dans cette ligne et pas 2 fois. Vous comprenez ce que je veux dire?

Merci d'avoir pris le soin de me répondre
 

Pièces jointes

  • BASELOG_EXCELDOWNLOAD.xlsx
    292.1 KB · Affichages: 56

Sheldor

XLDnaute Occasionnel
Supporter XLD
Re : piocher des valeurs de cellules dans un autre classeur

pour la ligne 7 je ferais ceci, on peut boucler sur plusieurs lignes cela dit:

For col = 1 To Range("IV7").End(xlToLeft).Column
If Cells(7, col) <> "" Then
For col2 = col + 1 To Range("IV7").End(xlToLeft).Column
If Cells(7, col2) = Cells(7, col) Then Cells(7, col2) = ""
Next col2
End If
Next col


ça commence à gauche ça mémorise la valeur et si elle réapparait à droite ça l'efface

mais bon c'est du code de débutant y'a sûrement plus joli ....
 

Dranreb

XLDnaute Barbatruc
Re : piocher des valeurs de cellules dans un autre classeur

Bonjour.
Sur la base de ce que j'ai déjà proposé, s'il s'agit de supprimer les paires de colonnes dont celle de droite porte en ligne 7 un texte existant déjà à sa gauche :
VB:
With Feuil1.[C9:IV9]
   .FormulaR1C1 = "=IF(MOD(COLUMN(),2),RC[1],IF(COUNTIF(R7C1:R7C[-2],R7C)>0,""A"",0))"
   .SpecialCells(xlCellTypeFormulas, 2).EntireColumn.Delete
   .EntireRow.Delete
   End With
Cordialement.
 

Discussions similaires

Statistiques des forums

Discussions
312 801
Messages
2 092 245
Membres
105 313
dernier inscrit
tissouma