Boucle sous vba

Signaler
Messages postés
184
Date d'inscription
jeudi 23 août 2012
Statut
Membre
Dernière intervention
6 juillet 2020
-
Messages postés
184
Date d'inscription
jeudi 23 août 2012
Statut
Membre
Dernière intervention
6 juillet 2020
-
Bonjour,

Suite à la récupération de cette macro sur le net, pour remplacer INDIRECT EXT, je cherche comment effectuer une boucle, au lieu de répéter x fois le code suivant..

Private Sub Worksheet_Change(ByVal Target As Range)
Dim chemin$, fichier$, feuille$, plage$, dest As Range
chemin = ThisWorkbook.Path & "\"
fichier = [A5]
feuille = [D4]
plage = [h2]
Set dest = [D5]
Application.EnableEvents = False
On Error Resume Next
dest.Resize(Range(plage).Rows.Count, Range(plage).Columns.Count).FormulaArray = _
"=IFERROR('" & chemin & "[" & fichier & "]" & feuille & "'!" & plage & ",0)"
Application.EnableEvents = True
suite
End Sub

Sub suite()

Dim chemin$, fichier$, feuille$, plage$, dest As Range
chemin = ThisWorkbook.Path & "\"
fichier = [A6]
feuille = [D4]
plage = [h2]
Set dest = [D6]
Application.EnableEvents = False
On Error Resume Next
dest.Resize(Range(plage).Rows.Count, Range(plage).Columns.Count).FormulaArray = _
"=IFERROR('" & chemin & "[" & fichier & "]" & feuille & "'!" & plage & ",0)"
Application.EnableEvents = True
suite1

End Sub
Sub suite1()

Dim chemin$, fichier$, feuille$, plage$, dest As Range
chemin = ThisWorkbook.Path & "\"
fichier = [A7]
feuille = [D4]
plage = [h2]
Set dest = [D7]
Application.EnableEvents = False
On Error Resume Next
dest.Resize(Range(plage).Rows.Count, Range(plage).Columns.Count).FormulaArray = _
"=IFERROR('" & chemin & "[" & fichier & "]" & feuille & "'!" & plage & ",0)"
Application.EnableEvents = True
suite2

End Sub

…………………………….etc....

Le tableau est constitué de 8 lignes et de 14 colonnes.

De A5 à A12 le nom des fichiers (toto.xlsm, titi.xlsm)
De la colonne D4 à la colonne O4 = noms des onglets (janvier à décembre)
De D5 à D12 cellules cible


Merci d'avance,

Configuration: Windows / Internet Explorer 11.0

1 réponse

Messages postés
16171
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
9 juillet 2020
2 989
Bonjour,

il faut faire une macro paramétrée
ex:
sub suite(Fichier, feuille, plage, dest)

et tu boucles sur des array de ces 4 parametres ou en parcourant tes données sous forme d'une variable-tableau

Mais comme tu nous met une image plutôt que le classeur,sans aucun repère de lignes et de colonnes, on ne peut rien faire pour toi


Messages postés
184
Date d'inscription
jeudi 23 août 2012
Statut
Membre
Dernière intervention
6 juillet 2020
2
Merci Michel !
J'essaie de mettre un fichier.....
Les cellules concernées sont De A4 à O12

A plus tard, bonne fin de journée !