Macro utilisant plage de données

Bonjour,

J'aimerais avoir une macro qui me permette de faire les actions suivantes :

Je clique sur un bouton --> je sélectionne une feuille --> il me créer une nouvelle feuille en utilisant les données sélectionnées.

Dans l'exemple en pièce jointe, j'ai réussi à coder seulement en décrivant à l'avance qu'elle feuille j'allais choisir. Ce n'est pas robuste à la création d'une nouvelle feuille, ici promo 3.

Avez-vous des conseils pour le calcul prenne en compte la feuille sélectionnée, sans avoir à modifier le code à chaque fois?

Cordialement

Raphael Gouret

18test-macro.xlsm (21.82 Ko)

Bonjour,

De manière simple pour pas compliquer la tache:

(sinon on peut aussi mettre une textbox pour rentrer le nom de la feuille)

Sub Bilanpromo2()
'
' Bilanpromo2 Macro
'

'
    Sheets(Cells(2, 12).Value).Select
    ActiveSheet.Copy After:=Sheets(4)
    Range("B2").Select
    ActiveCell.FormulaR1C1 = _
        "=SUMPRODUCT('Clients réguliers'!RC[3]:R[4]C[3],'Clients réguliers'!RC:R[4]C)+SUMPRODUCT('Promo 2'!RC:R[4]C,'Promo 2'!RC[3]:R[4]C[3])"
    Range("B3").Select
    ActiveCell.FormulaR1C1 = _
        "=SUMPRODUCT('Clients réguliers'!R[-1]C:R[3]C,'Clients réguliers'!R[-1]C[4]:R[3]C[4])+SUMPRODUCT('Promo 2'!R[-1]C:R[3]C,'Promo 2'!R[-1]C[4]:R[3]C[4])"
    Range("B4").Select
    ActiveCell.FormulaR1C1 = _
        "=SUMPRODUCT('Clients réguliers'!R[-2]C:R[2]C,'Clients réguliers'!R[-2]C[5]:R[2]C[5])+SUMPRODUCT('Promo 2'!R[-2]C:R[2]C,'Promo 2'!R[-2]C[5]:R[2]C[5])"
    Range("B5").Select
End Sub
3test-macro.xlsm (23.06 Ko)

Bonjour,

Il y a une erreur avec la ligne Sheets(Cells (2, 12).Value).Select : 'l'indice n'appartient pas à la sélection'.

Je voudrais que dans l'opération SUMPRODUCT il prenne en compte les cases de la feuille sélectionnée (promo 1,2 ou 3 si je créé une autre feuille plus tard), au lieu de 'promo 2' comme indiquée actuellement.

Si j'ai bien compris la textbox permet de choisir une feuille, mais comment comprend t-il qu'il faut utiliser les cases de la feuille choisie pour le calcul?

Rechercher des sujets similaires à "macro utilisant plage donnees"