Tableau compliqué à réaliser

Il se peut que j'ai besoin de tes lumieres si le chef veut des modif.

J'espere que ca ne gene pas si je laisse ouvert

Merci pour les liens je vais essayer tout ca

Re bonjour !

Par curiosité j'aurai aimé savoir quel est le bou de cod a modifier pour qu'au lieux de creer un onglet dans le classuer Commande, cela creer un autre classeur avec tous les onglets de chaques affaire.

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Excel.Range, Cancel As Boolean)
'Macro dan le 23/11/2010
Dim msg As String, style As String, title As String
Dim reponse As Integer
Dim sh As Worksheet
If Not Intersect(Target, Range("C2:C" & Range("C" & Rows.Count).End(xlUp).Row)) Is Nothing Then
    For Each sh In Worksheets
        If sh.Name = Target Then Sheets(CStr(Target)).Select: Cancel = True: Exit Sub
    Next sh
    msg = "confirmer par Ok que vous voulez bien créer une nouvelle feuille pour l'affaire " & Target
    style = vbOKCancel + vbInformation
    title = "Création feuille"
    reponse = MsgBox(msg, style, title)
    If reponse = vbOK Then
        Sheets("Processus").Copy after:=Sheets(Sheets.Count)
        ActiveSheet.Name = Target
    End If
End If
Cancel = True
End Sub

re,

C'est possible mais le code devra changer.

En premier il faut savoir :

  • Le nom du fichier destinataire des feuilles processus
  • Le répertoire de sauvegarde des deux fichiers

A te relire

Pour l'empalcement : Z:\Historique Processus

J'ai crée un dossier

Sinon je suis en plein dans les tableaux dynamique. Je me demande si c'est pas plus pratique ? Ou du moins possible déjà.

Pour m'amuser j'ai crée une base avec des pays / Villes / CA par ville

Avec le code ci dessous, la modification que j'apporte dans la base s'ajuste automatiquement dans le tableau dynamique que j'ai crée dans uen autre feuille enfin bref

je me demande si en creant un tableau dynamique en selectionnant que le nom de l'affaire on pourrait ne pas avoir un seul Tableau.

Dans le tableau dynamique il y a une colonne Affaire et a droite le tableau processus. Via le filtre on selectionne le nom de l'affaire et le processus de cette affaire apparait à droite ?!

Merci

Option Explicit

Sub V_Sub_Actualise_tous_TcD_de_la_Feuille(LWp_Feuille As Worksheet)

Dim LPT_i_pivot_table_de_la_Feuille As PivotTable 'cette variable represente successivement chaque TcD de la feuille
Dim LI_Nombre_de_Pivot_Table As Integer
Dim LI_index As Integer

Dim LV_StatusBar_Avant As Variant
' ------------------------------------

LV_StatusBar_Avant = Application.StatusBar 'Enregistre l'affichage en bas-gauche de la fenetre Excel

LI_Nombre_de_Pivot_Table = LWp_Feuille.PivotTables.Count

If LI_Nombre_de_Pivot_Table > 0 Then

    For Each LPT_i_pivot_table_de_la_Feuille In LWp_Feuille.PivotTables 'signifie : Pour tous les Rapports de TcD de la Feuille, pris l'un apres l'autre.
        LI_index = 1 + LI_index 'incrementation du compteur de TcD Traites

        'affiche en bas-gauche de la fenetre Excel l'etat d'avancement. Utile et visible si les recalculs sont longs.
            Application.StatusBar = " Actualisation du Tableau Croise Dynamique ... Feuille : " & LWp_Feuille.Name & "... [ " & LI_index & " / " & LI_Nombre_de_Pivot_Table & " ] "

            LPT_i_pivot_table_de_la_Feuille.PivotCache.Refresh

    Next LPT_i_pivot_table_de_la_Feuille

End If 'LI_Nombre_de_Pivot_Table > 0

'restaure l'affichage en bas-gauche de la fenetre Excel
   Application.StatusBar = IIf(LV_StatusBar_Avant = False, False, LV_StatusBar_Avant) 'restaure l'affichage en bas-gauche de la fenetre Excel
'Application.StatusBar = LV_StatusBar_Avant
End Sub 'V_Sub_Actualise_tous_TcD_de_la_Feuille

Re,

Pour l'empalcement : Z:\Historique Processus

J'ai crée un dossier

Tu ne réponds pas à toutes les questions que j'ai posées...

--> Quel est --> Le nom du fichier destinataire des feuilles processus

A te relire

Je l'appellerai Historique processus également !

Je peux le changer dans le code si ca me plait pas donc c'est pas grave

re,

Essaie comme ceci :

change le code que je t'avais donné par celui-ci:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Excel.Range, Cancel As Boolean)
'Macro dan le 23/11/2010
Dim msg As String, style As String, title As String, affaire As String
Dim reponse As Integer
If Not Intersect(Target, Range("C2:C" & Range("C" & Rows.Count).End(xlUp).Row)) Is Nothing Then
    msg = "confirmer par Ok que vous voulez bien créer une nouvelle feuille pour l'affaire " & Target
    style = vbOKCancel + vbInformation
    title = "Création feuille"
    reponse = MsgBox(msg, style, title)
    If reponse = vbOK Then
    affaire = Target
    Call creationprocessus
    End If
End If
Cancel = True
End Sub

Va dans VBA (ALT+F11 sur ton clavier) et crée un module (Insertion/module). Dans la fenêtre colle le code suivant :

Option Explicit
Public affaire As String
Sub creationprocessus()
'Macro Dan pour titounet le 06/12/2010
Dim chemin As String, fichier As String
Dim sh As Worksheet
chemin = "Z:\Historique Processus"
fichier = "Historique processus" & ".xls"
Workbooks.Open Filename:=chemin & "\" & fichier
    For Each sh In ActiveWorkbook.Worksheets
        If sh.Name = affaire Then Sheets(CStr(affaire)).Select: Exit Sub
    Next sh
With Workbooks(fichier)
    ThisWorkbook.Sheets("processus").Copy After:=.Sheets(1)
    .ActiveSheet.Name = affaire
    .Close SaveChanges:=True
End With
End Sub

Si ok, n'oublie pas de cloturer le fil en cliquant sur le v Vert.

Amicalement

Workbooks.Open Filename:=chemin & "\" & fichier

j'ai un soucis, quand je clique sur le n° d'affaire j'ai cette ligne de code qui se colore en jaune. Ca me dit de vérifier le chemin d'accés. Pourtant le chemin est bon et l'orthopgraphe aussi.

Merci

Bonjour Titounet, bonjour le forum,

Es-tu sûr que ton chemin et ton nom de fichier sont bons ?

Ton chemin est : Z:\Historique Processus

(il y a donc un seul espace entre les deux mots et pas d'espace qui traîne après Processus)

Le fichier est Historique processus.xls

(il y a donc là aussi un seul espace entre les deux mots)

Peut-être l'as tu enregistré en XLSX e pas XLS ?

A+

Bonjour,

Tout est parfait, j'ai meme essayé de changer de disque cible et crée un dossier + Fichier "Historique processus", j'ai enregistré en Classeur classique et au en prenant en charges les macros. j'ia essayé d'ajouter ".xls" a la suite du nom du fichier mais tout donne la meme chose.

re,

il faut voir si tu utilises ton fichier à la fois sous Excel 2007 et sous excel 2003 ? Si oui, il faut modifier un le code pour prendre en charge les différentes versions.

Si ok, n'oublie pas de cloturer le fil en cliquant sur le v Vert.

Amicalement

je l'utilise sous excel 2007

re,

comme faisait remarquer Dachevid plus haut, tes fichiers sont en extension XLSX. Donc change uniquement XLS par XLSX dans le code pour la déclaration de variable FICHIER..

Amicalement

Ca ne fonctionne toujours pas. J'ai bien fait attention pour les majsucule/minuscule mais non.

Cela me met erreur d'éxécution 1004.

re,

Lorsque tu bloques, cela surligne en jaune dans ton code. En passant ta souris sur Chemin et sur fichier, cela te donne quoi comme info ?

Ca me donne :

chemin = "Z:\Historique Processus"

et

fichier = "Historique processus.xlsx"

Re,

Ok donc tu as changé ".xls" en ".xlsx" dans la variable fichier.

Essaye avec Démarrer - Exécuter... si Windows ouvre ce fichier :

Z:\Historique Processus\Historique processus.xlsx

A+

"windows ne trouve pas 'Z:\Historique'. Vérifiez que le nom est correct..."

peut etre l'espace entre historique et processus est en trop ?

:s

Re,

Alors essaye en tapant :

"Z:\Historique Processus\Historique processus.xlsx"

Si ça marche il faudra mettre des "" avec Open.

A+

Ca ne fonctionne pas non plus

Rechercher des sujets similaires à "tableau complique realiser"