OVH Cloud OVH Cloud

Recopie de cellules selon leur adresse relative

11 réponses
Avatar
Indigo
Bonjour à tous.

Il 'agit d'automatiser une feuille de résumé.

CONTEXTE :

Il y a environ une vingtaine d'articles différents et il peut y en avoir
entre 1 et 30 en général, rarement plus et exeptionnellement jusqu'à 40.

On utilise 2 feuilles principales : MOUVEMENT et RÉSUMÉ.
--
Sur une feuille MOUVEMENT chacun des articles occupe 5 colonnes au fur et à
mesure des saisies jusqu'à un maximum théorique de 3 000 lignes, en réalité
plus proche des 1 000. En haut de chacune de ces colonnes, pour chacun de ces
articles
sont calculées des synthèses de situation.

Pour le premier, ces synthèses seront en B3:F3.
Pour le second, ces synthèses seront en G3:K3.
Pour le troisième, ces synthèses seront sur L3:P3.
etc.
--
Sur une feuille RÉSUMÉ on souhaite avoir une vue synthétique de toutes ces
synthèse. On les met donc en colonne de façon à les avoir toutes les unes
sous les autres dans la zone E16:X30 sachant que cette zone peut s'étendre si
le besoin s'en fait sentir, c'est à dire s'il y a un nouvel article qui vient
ajouter ses 5 colonnes dans la feuille MOUVEMENT.

Ainsi sur RÉSUMÉ :
En E16:E30 on aura la recopie des cellules B3, G3, L3, Q3,..
En F16:F30 on va de même recopier les cellules C3, H3, M3, R3,...
En G3:G30 on va de même recopier les cellules D3, I3, N3, S3,...

Il s'agit d'obtenir une formule qui permette d'automatiser ces recopies. Il
faut déduire en E17 qu'il s'agit de recopier le contenu de MOUVEMENT!G3 après
avoir recopié le contenu de MOUVEMENT!B3 en E16. De déduire en E18 qu'il
s'agit de recopier le contenu de MOUVEMENT!L3 après avoir recopié le contenu
de MOUVEMENT!G3 en E17. De déduire en E19 qu'il s'agit de recopier le contenu
de MOUVEMENT!Q3 après avoir recopié le contenu de MOUVEMENT!L3 en E18. etc.

Comment faire?

Merci à tous.

1 réponse

1 2
Avatar
isabelle
au plaisr Indigo,

isabelle




je ne vois pas d'autre solution qu'une fonction perso utilisant le numéro codename,

Function feuille(numéro As Integer)
Application.Volatile
For Each f In ActiveWorkbook.Sheets
If f.CodeName = "Feuil" & numéro Then feuille = f.Name
Next
End Function



Merci à toi Isabelle. Une fois de plus.



1 2