Macro copier coller une formule sur plusieurs onglets

vinss1

XLDnaute Nouveau
Bonjour,

Je cherche à copier coller une formule sur un grand nombre d'onglet et à consolider les résultats de cette formule sur un seul onglet.
Connaissez-vous une macro qui permette cela?

Merci d'avance
 

mromain

XLDnaute Barbatruc
Re : Macro copier coller une formule sur plusieurs onglets

Bonjour vinss1 et bienvenue sur XLD,

Voici une macro à adapter. Notamment :
> le nom de l'onglet de consolidation ;
> l'adresse de la cellule ou sera saisie la formule dans chaque onglet ;
> la formule qui sera saisie.
VB:
Private Sub Test()
Dim formule As String, adresseCelluleFormule As String, iL As Long, nomOngletConsolidation As String, laFeuille As Worksheet

    'nom de l'onglet de consolidation
    nomOngletConsolidation = "Bilan"
    
    'formule commune à tout les onglet (sauf celui de consolidation)
    formule = "=MOYENNE(A2:A20)"
    'adresse de la cellule ou sera inscrite la formule
    adresseCelluleFormule = "B1"
    
    With ThisWorkbook.Sheets(nomOngletConsolidation)
    
        'boucler sur tout les onglets de du classeur
        For Each laFeuille In ThisWorkbook.Sheets
            
            'vérifier que ce n'est pas l'onglet de consolidation
            If Not laFeuille.Name = nomOngletConsolidation Then
                
                'saisir en cellule B1 la formule
                laFeuille.Range(adresseCelluleFormule).FormulaLocal = formule
                
                'incrémenter la ligne d'écriture sur l'onglet de consolidation
                iL = iL + 1
                'écrire une formule sur l'onglet de consolidation renvoyant à la
                'cellule de la feuille courante où on vient de saisir la formule
                .Range("A" & iL).Value = laFeuille.Name
                .Range("B" & iL).FormulaLocal = "='" & laFeuille.Name & "'!" & adresseCelluleFormule
            End If
        Next laFeuille
    End With
End Sub
a+
 
Dernière édition:

vinss1

XLDnaute Nouveau
Re : Macro copier coller une formule sur plusieurs onglets

Merci beaucoup Romain.

Le problème est que j'ai plusieurs formules (une par cellule L323) et que je souhaite copier cette ligne sur plusieurs autres onglets, puis tout consolider sur une feuille (Bilan).
Je vous joints un extrait du fichier.

Merci,
Vinss1
 

Pièces jointes

  • Macro Excel à créer.xls.zip
    31.5 KB · Affichages: 57

mromain

XLDnaute Barbatruc
Re : Macro copier coller une formule sur plusieurs onglets

Bonjour vinss,

Si j'ai bien compris (cette fois), saisir cette formule en B2 :
Code:
=INDIRECT([COLOR=Black]$A2[/COLOR][COLOR=Black]&"![COLOR=Red]A3[/COLOR]"[/COLOR])
A3 est l'adresse de la cellule qu'on souhaite récupérer.

De même, en C2, saisir :
Code:
=INDIRECT([COLOR=Black]$A2[/COLOR][COLOR=Black]&"![COLOR=Red]A4[/COLOR]"[/COLOR])

Ainsi de suite sur toute la ligne.

Ensuite, rajoute le nom d'un autre onglet à consolider sous le premier (en A3) et tire toutes les formules vers le bas.


PS: si il y a des espaces dans le nom des onglets à consolider, il faudra écrire cette formule :
Code:
=INDIRECT("'"&[COLOR=Black]$A2[/COLOR][COLOR=Black]&"'![I][COLOR=Red]XX[/COLOR][/I]"[/COLOR])

a+
 

vinss1

XLDnaute Nouveau
Re : Macro copier coller une formule sur plusieurs onglets

Merci Romain,

Une dernière question, existe-t-il une formule qui m'évite de saisir manuellement le nom de chaque onglet? ou qui aille chercher une cellule automatiquement sur toutes les feuilles du classeur?

a+
 

Discussions similaires

Réponses
12
Affichages
242

Statistiques des forums

Discussions
312 204
Messages
2 086 198
Membres
103 155
dernier inscrit
lombrik