création autant d'onglet que d'individu tableau

VINCEGR

XLDnaute Occasionnel
bonjour tout le monde,:)

je joins à ce message un tableau avec différentes colonnes donc une colonne individu.
je souhaiterais un utilitaire qui me crée autant d'onglet que d'individu avec les information des colonnes liées.

ex: si 2 lignes pour "dupont" alors dans l onglet "dupont" report des 2 lignes avec le total.

merci d'avance

VinceGR
 
Dernière édition:

VINCEGR

XLDnaute Occasionnel
Re : création autant d'onglet que d'individu tableau

re Efgé,
je viens de mettre à jour mon fichier avec le nouveau tableau et le résultat dépasse mes espérances.
j ai encore une petite question sur comment puis-je déplacer l'icone trier ?
merci d'avance :)
@+
VinceGR
 
Dernière édition:

Efgé

XLDnaute Barbatruc
Re : création autant d'onglet que d'individu tableau

Re
Pour déplacer le bouton (ce n'est pas un icone ;) ), sous 2003 :
Menu affichage / Barres d'outils sélectionner Boite à outils contrôles.
Dans la barre d'outil, cliquez sur l'icone (là c'en est un) qui représente une équerre avec un crayon. Quand cet icone est celectionné, vous pouvez déplacer le bouton. L'orsqu'il est à sa place vous déselectionnez l'icone et fermez la barre d'outil.
En cas de problème revenez, j'essaierai d'être plus clair... :)
Cordialement
 

VINCEGR

XLDnaute Occasionnel
Re : création autant d'onglet que d'individu tableau

re,
ok c'est bon maintenant que vous me le dites c'est bon j'ai retrouvé.
je penses que ce tableau va me servir de base pour queques applications internes.
je vous remercie pour tout
@+
VinceGR
 

VINCEGR

XLDnaute Occasionnel
Re : création autant d'onglet que d'individu tableau

:)Bonjour efgé, le forum,

je reviens vers vous suite au tableau qui fonctionne correctement mais que je souhaite améliorer pour une utilisation plus automatique.

je souhaiterais qu'on moment de la création des classeurs, ceux-ci soient nommés du nom du conducteur en colonne "m"

est-ce possible ? :confused:

Merci pour votre aide
VinceGR
 

Pièces jointes

  • MODELE POUR REPARTITION.zip
    30.3 KB · Affichages: 47
Dernière édition:

JCGL

XLDnaute Barbatruc
Re : création autant d'onglet que d'individu tableau

Bonjour à tous,
Salut FG :),

Peux-tu essayer en remplaçant la Sub Sous_Total par ce code :

Code:
Sub Sous_total()
Dim Derligne As Long
Dim Var As Boolean '<=== **
Var = True '<=== **
Application.ScreenUpdating = False
rep = MsgBox("Voulez vous créer les classeurs ?", vbYesNo) ' <=== **
If rep = vbNo Then '<=== **
    Var = False '<=== **
End If '<=== **
For Each f In ThisWorkbook.Worksheets
[B][COLOR=Blue]    If f.Name <> "a" Then[/COLOR][/B]
        f.Activate
        Derligne = f.Range("A" & Application.Rows.Count).End(xlUp).Row + 1
        f.Range("C" & Derligne & ":L" & Derligne).FormulaLocal = "=SOMME(C2:C" & Derligne - 1 & ")"
        f.Range("A" & Derligne).Value = "Total"
            If Var = True Then '<=== **
                f.Copy
              [B][COLOR=Blue]  ActiveSheet.SaveAs Filename:=ActiveSheet.Name & ".xls"[/COLOR][/B]
            End If '<=== **
    End If
Next f
Application.ScreenUpdating = True
End Sub

A+ à tous
 

Pièces jointes

  • JC_FG Modele de Repartition.xls
    78.5 KB · Affichages: 87

Efgé

XLDnaute Barbatruc
Re : création autant d'onglet que d'individu tableau

Bonsoir au fil,VINCEGR, Bonsoir JCGL :),
Je n'arrivai pas à trouver la synyaxe pour ;
Code:
  ActiveSheet.SaveAs Filename:=ActiveSheet.Name & ".xls"
Par contre il y a un message d'erreur avec 2007 (évidemment...), donc je propose pour être compatible de rajouter
Code:
Application.DisplayAlerts = False
Après le sub et son pendant avant le End Sub :
Code:
Application.DisplayAlerts = True
Cirdialement
 

VINCEGR

XLDnaute Occasionnel
Re : création autant d'onglet que d'individu tableau

bonjour JCGL et efgé,
merci et encore merci pour votre aide précieuse car le résultat va au de la de mes espérances.
il fonctionne aussi sur 2007, testé sur un poste avec 2007.
bonne journée à vous
longue vie au forum
@+
VinceGR
 

VINCEGR

XLDnaute Occasionnel
Re : création autant d'onglet que d'individu tableau

bonjour efgé, JCGL, le forum,

le programme que j'utilise fonctionne correctement et je souhaiterais si possible le perfectionner. avec les suggestions apporter sur le fichier
est-ce faisable ?

je souhaiterais si possible :

- conserver la mise en page sur classeur créé et onglet

- reporter la formule de calcul de la colonne "K" sur la ligne total

- en dessous de la ligne total colonne "I" mettre la formule (i-h)

- incorporer la macro qui masque les colonnes d-e et l-m quand le fichier avec le conducteur est créé suivant modèle

merci d'avance
 

Pièces jointes

  • model repartitition new..zip
    32.5 KB · Affichages: 32
Dernière édition:

Efgé

XLDnaute Barbatruc
Re : création autant d'onglet que d'individu tableau

Bonjour VINCEGR, JCGL :),
Pour la première demande :
reporter la formule de calcul de la colonne "K" sur la ligne total
Je propose:
Code:
[COLOR=blue]Sub[/COLOR] Sous_total()
[COLOR=blue]Dim[/COLOR] Derligne [COLOR=blue]As Long[/COLOR]
[COLOR=blue]Dim[/COLOR] Var [COLOR=blue]As Boolean[/COLOR]
Var = [COLOR=blue]True[/COLOR]
Application.ScreenUpdating = [COLOR=blue]False[/COLOR]
rep = MsgBox("Voulez vous créer les classeurs ?", vbYesNo)
[COLOR=blue]If[/COLOR] rep = vbNo [COLOR=blue]Then[/COLOR]
    Var = [COLOR=blue]False[/COLOR]
[COLOR=blue]End If[/COLOR]
Sheets("a").Range("K2:K" & Sheets("a").Range("A" & Application.Rows.Count).End(xlUp).Row).FormulaLocal = "=SI(J2<>"""";((C2+I2)/((C2+I2)-J2))-1;"""")"[COLOR=green] '<==[/COLOR]
[COLOR=blue]For Each[/COLOR] f [COLOR=blue]In[/COLOR] ThisWorkbook.Worksheets
    [COLOR=blue]If[/COLOR] f.Name <> "a" [COLOR=blue]Then[/COLOR]
        f.Activate
        Derligne = f.Range("A" & Application.Rows.Count).End(xlUp).Row + 1
        f.Range("C" & Derligne & ":L" & Derligne).FormulaLocal = "=SOMME(C2:C" & Derligne - 1 & ")"
        f.Range("A" & Derligne).Value = "Total"
        f.Range("K2:K" & Derligne).FormulaLocal = "=SI(J2<>"""";((C2+I2)/((C2+I2)-J2))-1;"""")"[COLOR=green] '<===[/COLOR]
            [COLOR=blue]If[/COLOR] Var = [COLOR=blue]True Then[/COLOR]
                f.Copy
                ActiveSheet.SaveAs Filename:=ActiveSheet.Name & ".xls"
            [COLOR=blue]End If[/COLOR]
    [COLOR=blue]End If[/COLOR]
[COLOR=blue]Next[/COLOR] f
Application.ScreenUpdating = [COLOR=blue]True[/COLOR]
[COLOR=blue]End Sub[/COLOR]

Pour
en dessous de la ligne total colonne "I" mettre la formule (i-h)

Peut on avoir la formule a mettre en L14 ?

Pour
incorporer la macro qui masque les colonnes d-e et l-m quand le fichier avec le conducteur est créé suivant modèle

De qu'elle macro sagit il? Que fait elle? Enfin deux ou trois explications seraient les bienvenues.

Cordialement
 

VINCEGR

XLDnaute Occasionnel
Re : création autant d'onglet que d'individu tableau

re efgé,

merci de ta réponse
le code fonctionne sauf la mise en forme conditionnelle qui n'est pas reporté et le format %

Peut on avoir la formule a mettre en L14 ?
la formule à mettre en l14 est "i13-h13" à remettre dans chaque classeur créé

De qu'elle macro sagit il? Que fait elle? Enfin deux ou trois explications seraient les bienvenues.
je souhaite savoir si c'est possible via une macro de grouper les colonnes en automatique.

@+
 

Efgé

XLDnaute Barbatruc
Re : création autant d'onglet que d'individu tableau

Re
Une nouvelle version:
Code:
[COLOR=blue]Sub[/COLOR] Sous_total()
[COLOR=blue]Dim[/COLOR] Drlng [COLOR=blue]As Long[/COLOR]
[COLOR=blue]Dim[/COLOR] Derligne [COLOR=blue]As Long[/COLOR]
[COLOR=blue]Dim[/COLOR] Var [COLOR=blue]As Boolean[/COLOR]
Var = [COLOR=blue]True[/COLOR]
Application.ScreenUpdating = [COLOR=blue]False[/COLOR]
rep = MsgBox("Voulez vous créer les classeurs ?", vbYesNo)
[COLOR=blue]If[/COLOR] rep = vbNo [COLOR=blue]Then[/COLOR]
    Var = [COLOR=blue]False[/COLOR]
[COLOR=blue]End If[/COLOR]
[COLOR=blue]With[/COLOR] Sheets("a")
    Drlng = .Range("A" & Application.Rows.Count).End(xlUp).Row
    .Range("K2:K" & Drlng).FormulaLocal = "=SI(J2<>"""";((C2+I2)/((C2+I2)-J2))-1;"""")"[COLOR=green] '<==[/COLOR]
    .Range("L" & Drlng + 1).FormulaLocal = "=I" & Drlng & "-H" & Drlng
    .Outline.ShowLevels RowLevels:=0, ColumnLevels:=1
[COLOR=blue]End With[/COLOR]
[COLOR=blue]For Each[/COLOR] f [COLOR=blue]In[/COLOR] ThisWorkbook.Worksheets
    [COLOR=blue]If[/COLOR] f.Name <> "a" [COLOR=blue]Then[/COLOR]
        f.Activate
        Derligne = f.Range("A" & Application.Rows.Count).End(xlUp).Row + 1
        f.Range("C" & Derligne & ":L" & Derligne).FormulaLocal = "=SOMME(C2:C" & Derligne - 1 & ")"
        f.Range("A" & Derligne).Value = "Total"
        f.Range("K2:K" & Derligne).FormulaLocal = "=SI(J2<>"""";((C2+I2)/((C2+I2)-J2))-1;"""")"[COLOR=green] '<===[/COLOR]
        f.Range("L" & Derligne).FormulaLocal = "=I" & Derligne - 1 & "-H" & Derligne - 1[COLOR=green] '<===[/COLOR]
            [COLOR=blue]If[/COLOR] Var = [COLOR=blue]True Then[/COLOR]
                f.Copy
                ActiveSheet.SaveAs Filename:=ActiveSheet.Name & ".xls"
            [COLOR=blue]End If[/COLOR]
    [COLOR=blue]End If[/COLOR]
[COLOR=blue]Next[/COLOR] f
Application.ScreenUpdating = [COLOR=blue]True[/COLOR]
[COLOR=blue]End Sub[/COLOR]
Pour la mise en forme et le format, on peux les mettre en place à l'avance...
Cordialement
 

Discussions similaires

Statistiques des forums

Discussions
312 480
Messages
2 088 757
Membres
103 951
dernier inscrit
Misterb