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?
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.
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.
À +
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
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.
À +
Re : piocher des valeurs de cellules dans un autre classeur
Très bien je vais utiliser le lien hypertexte, moi non plus je n'aime pas mais on m'y oblige... Désolé de vous avoir dérangé... Je vous remercie énormément!
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!!!
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.
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
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?
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 ....
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