insertion automatique dans formule

nwemba

XLDnaute Nouveau
Bonjour

Voila je cherche comment faire pour inserer une cellule dans une formule automatiquement. Sur le fichier ci-joint un bouton sur la feuille "accueil" pour inserer une nouvelle personne (feuille). La feuille global fait l'addition des valeurs de jean+paul par ligne. je souhaiterai que lorsque j'insere une nouvelle personne que les formule sur "global" le prennent en compte.

merci
 

Pièces jointes

  • Classeur3.xls
    33 KB · Affichages: 66
  • Classeur3.xls
    33 KB · Affichages: 65
  • Classeur3.xls
    33 KB · Affichages: 59

skoobi

XLDnaute Barbatruc
Re : insertion automatique dans formule

Bonjour,

voici le code du bouton enregistrer intégrant ta demande (en vert):

Code:
Private Sub CommandButton1_Click()


Sheets("JEAN").Select
Sheets("JEAN").Copy Before:=Sheets(2)
Sheets("JEAN (2)").Select
Sheets("JEAN (2)").Name = TextBox1.Value

Range("B7:B22").Select
Selection.ClearContents
Range("B7").Select

[B][COLOR="DarkGreen"]For i = 1 To Sheets.Count
    If i = 2 Then
        formule = Sheets(i).Name & "!B7"
    ElseIf i < Sheets.Count Then
        formule = formule & "+" & Sheets(i).Name & "!B7"
    End If
Next
Sheets("GLOBAL").Range("B7").FormulaLocal = "=" & formule
[/COLOR][/B]
Unload UserForm1

End Sub

Voilà :)
 

pierrejean

XLDnaute Barbatruc
Re : insertion automatique dans formule

bonjour nwemba

vois si cela te convient
Mise a jour a l'activation de la page GLOBAL

edit : Salut skoobi

re edit : @skoobi
tu es sur qu'il n'y aura pas que la ligne 7 dont la formule aura été mise a jour ??
 

Pièces jointes

  • Classeur3.zip
    11.5 KB · Affichages: 35
  • Classeur3.zip
    11.5 KB · Affichages: 29
  • Classeur3.zip
    11.5 KB · Affichages: 33
Dernière édition:

nwemba

XLDnaute Nouveau
Re : insertion automatique dans formule

merci pour vos réponse aussi rapide je vais prendre la solution a skooby car dans mon projet j'ai des feuilles client a inserer et le resultat sera dans une feuille differente donc j'ai fait un copier coller du code de skooby et changer les cellules. Parcontre j'aimerai aussi fait un bouton pour supprimer une personne mais lorsque je supprime la feuille la formule se mets en ref#car il garde la feuille supprimer. Pouvez-vous me donner un coup de pouce?

merci
 

nwemba

XLDnaute Nouveau
Re : insertion automatique dans formule

desoler en faite avec la méthode a skooby si j'insere une feuille client entre il la rajoute dans la formule . Ilfaudrait que les feuilles soit bien specifier dans le code mais avec le peut de chose que je connait en vba :confused:

merci
 

nwemba

XLDnaute Nouveau
Re : insertion automatique dans formule

je m'explique je vais creer un autre bouton "Nouveau client" qui insere une feuille client donc si j'insere un client pui apres j'insere une personne il va me prendre en compte la feuille cient ce que je ne veut pas.
 

skoobi

XLDnaute Barbatruc
Re : insertion automatique dans formule

Re,

dans ce cas il faut ajouter un "identificateur" pour le client genre "cl_client" dans le nom de l'onglet et faire cette analyse dans la macro afin de ne pas la prendre en compte si tu vois ce que je veux dire.
Dans la macro que je t'ai donné, ça donnerait:
Private Sub CommandButton1_Click()


Sheets("JEAN").Select
Sheets("JEAN").Copy Before:=Sheets(2)
Sheets("JEAN (2)").Select
Sheets("JEAN (2)").Name = TextBox1.Value

Range("B7:B22").Select
Selection.ClearContents
Range("B7").Select

Code:
For i = 1 To Sheets.Count
[B]If Not Sheets(i).Name Like "cl_*"[/B]
    If i = 2 Then
        formule = Sheets(i).Name & "!B7"
    ElseIf i < Sheets.Count Then
        formule = formule & "+" & Sheets(i).Name & "!B7"
    End If
[B]End If[/B]
Next
Sheets("GLOBAL").Range("B7").FormulaLocal = "=" & formule
[B][COLOR="Blue"]Sheets("GLOBAL").Range("B7").AutoFill Destination:=Range("B7:B22"), Type:=xlFillDefault[/COLOR][/B]
Unload UserForm1

End Sub

En bleu le bout de code qu'il manquait au début.
 
Dernière édition:

nwemba

XLDnaute Nouveau
Re : insertion automatique dans formule

j'ai effacé la ligne bleu puis rajouté then a la deuxieme ligne :

For i = 1 To Sheets.Count
If Not Sheets(i).Name Like "cl_*" Then
If i = 2 Then
formule = Sheets(i).Name & "!B7"
ElseIf i < Sheets.Count Then
formule = formule & "+" & Sheets(i).Name & "!B7"
End If
End If
Next
Sheets("GLOBAL").Range("B7").FormulaLocal = "=" & formule

Unload UserForm1

End Sub


ca foncionne
Et pour supprimer la feuille comme écrit plus haut as tu une idée?


merci:eek::eek:
 

Discussions similaires

Réponses
18
Affichages
940

Statistiques des forums

Discussions
312 836
Messages
2 092 651
Membres
105 478
dernier inscrit
tim51