Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 Copie automatique VBA d'une cellule spécifique de toutes les feuilles du classeur

Nando71

XLDnaute Nouveau
Bonjour

J'ai un petit soucis avec le fichier, je n'arrive pas à créer un code. Je m'explique à partir de la feuille synthèse je rentre mes données, je remplis les cellules correspondantes à la ligne concernée dans la colonne c et cela me génère une nouvelle feuille.

Maintenant j'aimerai reporter automatiquement sur ma feuille Synthèse dans les cellule de B20 à B100 la valeur des cellules S67 de chaque feuille crées et surtout à chaque ajout d'une nouvelle feuille que cela vienne s'ajouter au dessous de la dernière cellule pleine .

Merci pour ton soutien

Bien cordialement
 

Pièces jointes

  • Exemplev2 (2).xlsm
    44.2 KB · Affichages: 5

Nando71

XLDnaute Nouveau
On peut faire un lien qui vas chercher toutes les S 67 qui les additionne et qui les insères dans une cellule de la feuille synthèse en automatique ? Sans décaler mais utiliser une seul cellule qui additionne
 

Staple1600

XLDnaute Barbatruc
Re

Qui a écrit ceci ?
C'est donc ce que fait ma macro.
 

Nando71

XLDnaute Nouveau
Je souhaite additionner la cellule S 67 de toutes les feuilles (sauf la Type ) dans une seule cellule de la feuille synthèse et que cette cellule puisse recalculer automatiquement lorsque une ou plusieurs S67 sont modifiées
 

Staple1600

XLDnaute Barbatruc
Re

Cela commence mal
Je viens de retélécharger ton fichier exemple
Il n'y a que deux feuilles
Synthèse et FeuilleType
Donc comment je fais pour faire ceci ?
Je souhaite additionner la cellule S 67 de toutes les feuilles (sauf la Type )
 

Staple1600

XLDnaute Barbatruc
Re

Sinon pourquoi ne pas simplement ce bout de code pour dupliquer la feuille ?
VB:
Sub creer(nom As Range)
Sheets("Feuille Type").Copy After:=Sheets(Sheets.Count)
ActiveSheet.Name = nom.Text
End Sub

Je te redis juste ce que je t'avais déjà dit quand tu m'avais dit que ma macro ne fonctionnait pas.
Que je j'avais au préalable "désactivé" le code présent dans la feuille.
Ce à quoi tu avais répondu.
Parfait c'est tout merci infiniment pour ton aide

Bien cordialement
 

Nando71

XLDnaute Nouveau
Non car je dois copier les cellules A à AT dans la nouvelle feuille générée avec le code du module 2

Je t'ai mis un nouveau fichier avec des annotations dans la feuille synthèse
 

Pièces jointes

  • Exemplev2 (2).xlsm
    59.6 KB · Affichages: 0

Staple1600

XLDnaute Barbatruc
Re

@Nando71
J'avais concocté ceci avant ton nouveau message
Pré-requis:
Le nom des feuilles doit avoir la même structure
Ici Cat 1, Cat 2, Cat N
Code:
Sub test_OK()
Dim vArr
vArr = Split(Sheets(Sheets.Count).Name)
num = CStr(vArr(UBound(vArr)))
Sheets("Synthèse").Range("C1").FormulaR1C1 = "=SUM('Cat 1:Cat " & num & "'!R[66]C[16])"
End Sub
J'obtiens bien la somme de la cellule S67 des feuilles concernées dans la cellule C1 de la feuille Synthèse
PS: Fonctionnera sur ton PC si tu respectes les consignes.

NB: Le code de la feuille duplique l'entiereté de la feuille FeuilleType
Donc cela inclue les colonnes A à AT, non ????
 

Staple1600

XLDnaute Barbatruc
Re

@Nando71
Obligé par qui ou par quoi ?

Sinon on peut compliquer un chouia la chose, tout en la simplifiant
1) Après la feuille Synthèse, ajouter une feuille vide nommée A$
En dernière position, ajouter une feuille nommée Z$
Puis masquer ces deux feuilles
La formule ci-dessous fera la somme des cellules S67 des feuilles placées entre A$ et Z$
(voir copie écran ci-dessous)
Dans cet exemple, on trouve respectivement 5, 10 et 15 dans les cellules des trois feuilles Plaques_00N
Et la formule affiche bien la somme correcte
(On peut voir que les feuilles A$ et Z$ sont masquées)
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…