Comment faire le lien d'une macro sur 2 feuilles

Bonjour,

Le code me permettrait de faire la moyenne des refs qui ont été traités sur la feuille "2020" et de noter cette valeur sur la feuille "stats" dans la colonne 2020 dans la bonne celulle traité.

Le code fonctionne que si tous les éléments sont sur une même feuille.

je vous joints le fichier excel pour l'exemple.

Une explication ou un début de piste serait la bienvenue.

Voici le code:

Sub Macro1()

Dim i As Range
Dim col As Integer

derniereColonne = Cells(1, Columns.Count).End(xlToLeft).Column
derniereLigne = Cells(Rows.Count, 1).End(xlUp).Row
ligne = 6
col = 1
majLigne = 0

For Each i In Range(Cells(ligne, col), Cells(derniereLigne, col))

    derniereColonne = Cells(1, Columns.Count).End(xlToLeft).Column

    Set c = Sheets("2020").Range(Cells(1, 6), Cells(1, derniereColonne)).Find(i, LookIn:=xlValues, lookat:=xlWhole)

    If Not c Is Nothing Then

        'récuperation de l'adresse
        adresseC = c.Address
        numLigne = Range(adresseC).Row
        numcol = Range(adresseC).Column

        'Derniere ligne de la colonne recherché
        derniereLigne = Cells(Rows.Count, numcol).End(xlUp).Row

        'Moyenne de la colonne recherché + report sur la feuille "Stats"
        rng = Range(Cells(numLigne + 1, numcol), Cells(derniereLigne, numcol))
        Cells(ligne + majLigne, col + 1) = Application.WorksheetFunction.Average(rng)

        Set c = Nothing

    Else
        'MsgBox "valeur " & i & " non trouvée"
    End If

    majLigne = majLigne + 1

Next i

MsgBox "terminé"
End Sub
4classeur1.xlsx (14.55 Ko)

Bonjour,

Une solution par formule ne te conviendrait pas ?

Par ailleurs, les Références en colonne A de la feuille Stats ne correspondent pas toutes (25 et 35 n'existent pas en ligne 1:2 de la feuille 2020 ... pourquoi fusionner ces 2 lignes ?)
La structure de chaque feuille ne sera pas identique ? Surtout les colonnes avec les Références : pas toujours les mêmes, pas toujours au même endroit, pas toujours dans le même ordre ?

2classeur1.xlsx (16.01 Ko)

Bonjour,

Les références 25 et 35 n'existent pas en 2020 mais seront commandée en 2021 par ex.

La feuille "stats" est statique, seul les références de la feuille 2020, 2021 etc sont dynamiques à partir de la colonne "F".

Concernant la fusion de la ligne 1 et 2 c'est purement esthétique.

C'est la somme que j'ai besoin et non la moyenne, ça change rien au problème.

le code posté est juste une partie, le nouveau fichier joint est plus explicite.

Re-bonjour,

Comme tu ne réponds pas à la question, une proposition par formule : en B6 de la feuille Stats

=SIERREUR(MOYENNE(DECALER(INDIRECT("'"&B$4&"'!F3");0;EQUIV($A6;INDIRECT("'"&B$4&"'!F1:P1");0)-1;NBVAL(INDIRECT("'"&B$4&"'!A3:A200"))));0)

à recopier en bas et à droite ... puis vérifier !

Plutôt que fusionner sur deux lignes, il suffirait d'augmenter la hauteur de la première (esthétiquement, il me semble qu'on n'y verrait pas de différence)

Bonjour le fil,

Si j'ai bien compris, sinon avec une petite fonction personnalisé

A+

Bonjour,

Merci U. Milité , BrunoM45, votre formule fonctionne correctement, c'est tout a fait ça qu'il me fallait.

Rechercher des sujets similaires à "comment lien macro feuilles"