VBA rapatrier des valeurs dans classeur principal
Résolu
snow_frog
Messages postés
220
Statut
Membre
-
snow_frog Messages postés 220 Statut Membre -
snow_frog Messages postés 220 Statut Membre -
Bonjour,
Voilà ce que je voudrais faire:
À partir d'un classeur Excel:
1) Ouvrir plusieurs fichiers (sélectionné par une boite de dialogue)
2) Appliquer des formules dans ces fichiers ouvert
3) Rapatrier des valeurs des fichiers ouvert dans le classeur principal
Si possible sous la forme:
A1:nom_du_fichier_a B1:valeur_a1 C1:valeur_a2
A2:nom_du_fichier_b B2:valeur_b1 C2:valeur_b2
Pour les points 1 et 2, j'y suis arrivé, en imbriquant des morceaux de code trouvé aux hasard de mes recherches.
(je suis parti d'un lancement de macro par bouton...) je commence tout juste en VBa, donc potentiellement mon code ci-dessous n'est pas très optimisé, mais pour le moment pour moi: il fonctionne :)
je joins : mon fichier excel avec ma macro + 2 fichiers exemple que j'ouvre
classeur: https://www.cjoint.com/c/FCFidpyztYA
fichier_a: https://www.cjoint.com/c/FCFiesbG0bA
fichier_b:https://www.cjoint.com/c/FCFie0UpNWA
merci d'avance pour votre aide sur ce chemin pavé d'embuche VBA :)
Voilà ce que je voudrais faire:
À partir d'un classeur Excel:
1) Ouvrir plusieurs fichiers (sélectionné par une boite de dialogue)
2) Appliquer des formules dans ces fichiers ouvert
3) Rapatrier des valeurs des fichiers ouvert dans le classeur principal
Si possible sous la forme:
A1:nom_du_fichier_a B1:valeur_a1 C1:valeur_a2
A2:nom_du_fichier_b B2:valeur_b1 C2:valeur_b2
Pour les points 1 et 2, j'y suis arrivé, en imbriquant des morceaux de code trouvé aux hasard de mes recherches.
(je suis parti d'un lancement de macro par bouton...) je commence tout juste en VBa, donc potentiellement mon code ci-dessous n'est pas très optimisé, mais pour le moment pour moi: il fonctionne :)
Sub Bouton2_Cliquer()
Dim MainWbk As String
Dim lngCount As Long
MainWbk = ActiveWorkbook.Name
' Open the file dialog
With Application.FileDialog(msoFileDialogOpen)
.AllowMultiSelect = True
.Show
' Display paths of each file selected
Application.ScreenUpdating = False
For lngCount = 1 To .SelectedItems.Count
'MsgBox .SelectedItems(lngCount)
Workbooks.OpenText Filename:=.SelectedItems(lngCount), _
Origin:=xlMSDOS, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, _
Comma:=True, Space:=False, Other:=False, FieldInfo:=Array(Array(1, 1), _
Array(2, 1)), DecimalSeparator:=".", TrailingMinusNumbers:=True
Range("B1").Select
ActiveCell.Formula = "=(RC[-1]-(INDEX(C[-1],(ROW()+5),1)))"
Dim dl As Long 'déclare la variable dl (Dernière Ligne)
dl = Range("A65536").End(xlUp).Row 'définit la variable dl
Selection.AutoFill Destination:=Range("B1:B" & dl), Type:=xlFillDefault 'propage la formule jusqu'a dernière ligne
Range("C1").Select
ActiveCell.Formula = "=MIN(C[-1])"
Range("C2").Select
ActiveCell.Formula = "=MAX(C[-1])"
Next lngCount
End With
End Sub
je joins : mon fichier excel avec ma macro + 2 fichiers exemple que j'ouvre
classeur: https://www.cjoint.com/c/FCFidpyztYA
fichier_a: https://www.cjoint.com/c/FCFiesbG0bA
fichier_b:https://www.cjoint.com/c/FCFie0UpNWA
merci d'avance pour votre aide sur ce chemin pavé d'embuche VBA :)
A voir également:
- VBA rapatrier des valeurs dans classeur principal
- Étiquette classeur a imprimer gratuit excel - Forum Excel
- Imprimer un classeur excel sur mac - Guide
- Incompatibilité de type vba ✓ - Forum Programmation
- L'indice n'appartient pas à la sélection vba - Forum VB / VBA
- Excel compter cellule couleur sans vba - Guide
3 réponses
Bonjour,
A1:nom_du_fichier_a B1:valeur_a1 C1:valeur_a2
A2:nom_du_fichier_b B2:valeur_b1 C2:valeur_b2
valeur_a1 c'est cellule A1 de a ???????
Vous selectionnez combien de fichiers ?????
Parce qu'a trois je ne vois pas ce que vous recuperez
A1:nom_du_fichier_a B1:valeur_a1 C1:valeur_a2
A2:nom_du_fichier_b B2:valeur_b1 C2:valeur_b2
valeur_a1 c'est cellule A1 de a ???????
Vous selectionnez combien de fichiers ?????
Parce qu'a trois je ne vois pas ce que vous recuperez
Bonjour,
le nombre de fichier selectionner peut varier
ce que je voudrais pour le 3)
c'est recupérer les cellules C1 et C2 de chaque fichier ouvert/traiter (min et max)
et le coller dans mon classeur avec
A1= nom du fichier
B1= valeur contenu en C1
C1= valeur contenu en C2
puis pour le second fichier idem
A2= nom du fichier
B2= valeur contenu en C1
C2= valeur contenu en C2
...
j'espère avoir été plus clair ?
merci pour l'aide.
le nombre de fichier selectionner peut varier
ce que je voudrais pour le 3)
c'est recupérer les cellules C1 et C2 de chaque fichier ouvert/traiter (min et max)
et le coller dans mon classeur avec
A1= nom du fichier
B1= valeur contenu en C1
C1= valeur contenu en C2
puis pour le second fichier idem
A2= nom du fichier
B2= valeur contenu en C1
C2= valeur contenu en C2
...
j'espère avoir été plus clair ?
merci pour l'aide.
Re,
fichier modifie: https://www.cjoint.com/c/FCFplPzoNaf
ce que je voudrais pour le 3) ?????????????
fichier modifie: https://www.cjoint.com/c/FCFplPzoNaf
ce que je voudrais pour le 3) ?????????????