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

Probléme de mise en forme vba

  • Initiateur de la discussion Initiateur de la discussion cheikh
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

C

cheikh

Guest
Bonjour,
Avec un fichier de Boisgontier Jacques
A partir d’un modèle je génère mes fichiers et ça marche très bien mais en ce qui concerne la mise en page du fichier généré je n’y arrive pas encore. J’aimerais avoir pour chaque nouveau client un saut de quatre lignes comme j’ai essayé de le montrer dans l’onglet exemple car pour chaque client j’aimerai tracer une courbe d’évolution à côté.
NB: chaque client doit aussi avoir un espace pour les 4 jalons ordonnés suivant cet ordre (MAT, SO, FL, COC)

Merci d’avance.
 

Pièces jointes

Re : Probléme de mise en forme vba

Bonjour,

Ce n'était pas précisé au départ, j'avais compris 4 jalons et 4 lignes blanches entre chaque jalons, ce qui un "pas" de 8 lignes. J'avais donc réalisé se saut de huit lignes à chaque début de jalons. Maintenant il faut tenir compte de la date.
Les 4 lignes blanches sont-elles toujours d'actualité, si pour un jalons on a 6 lignes, faut-il 6 lignes blanches.
Il faut revoir la macro.

Cordialement
 
Re : Probléme de mise en forme vba

Bonjour,
ce que vous avez fait c'était super mais je viens de m'en rendre compte les dates sont plus important que l'ordre des jalons car si l'ordre des dates d'actuals sont respectées; les jalons le seront aussi. Oui Les 4 lignes sont toujours d'actualité entre les rang client.

Merci encore.
 
Re : Probléme de mise en forme vba

Bonjour,
J'ai repris les cours et je fais plus d'excel en c'est pourquoi je me suis pas connecté ce temps ci sur le forum.
Par contre celui avec que je travaillait signale quelques anomalies avec les courbes qu'il veux mettre à côté des tableau.
Pour avoir la place pour les courbes veux donner pour chaque rang_client un tableau de 15 ligne comme je le montre dans l'oglet "excemple".
Merci d'avance.
 

Pièces jointes

Re : Probléme de mise en forme vba

Bonsoir,
Voici le code

Code:
Option Explicit
Dim Appareil, LB, Rang1, Rang2
Dim tab_onglet
Dim New_rang, Old_rang, Cpt_Rang

Sub Essai2()
Application.ScreenUpdating = False
Set tab_onglet = CreateObject("scripting.dictionary")
Tri_Base
Dim LD ' ligne de départ d'une feuille S_curve

Dim CB  ' ligne et colonne de la Base
'--------------------------------------------------------------
'  récupération des onglets à créer
'--------------------------------------------------------------
LB = 6
With Feuil12
    While .Cells(LB, 1) <> ""
        Appareil = Trim(.Cells(LB, 1))
        If tab_onglet.exists(Appareil) = False Then
            tab_onglet(Appareil) = 9 'mémorise le numéro de la première ligne
            Sheet_copy "modèle", "S_curve_" & Appareil, True
            ActiveSheet.Cells(5, 3) = Appareil
            Old_rang = ""
            Cpt_Rang = -1
        End If
            ecrit_data
        LB = LB + 1
    Wend
End With
Cells(1, 1).Select
End Sub
'#############################################################
'#############################################################
Sub ecrit_data()
With Feuil12
    
    
    New_rang = .Cells(LB, 2)
    If New_rang = Old_rang Then
        tab_onglet(Appareil) = tab_onglet(Appareil) + 1
    Else
        Old_rang = New_rang
        Cpt_Rang = Cpt_Rang + 1
    tab_onglet(Appareil) = 9 + (Cpt_Rang * 20)
    
    End If
    Sheets("S_curve_" & Appareil).Cells(tab_onglet(Appareil), 3) = .Cells(LB, 2) 'Rang
    Sheets("S_curve_" & Appareil).Cells(tab_onglet(Appareil), 4) = .Cells(LB, 4) ' Jalons
    Sheets("S_curve_" & Appareil).Cells(tab_onglet(Appareil), 5) = .Cells(LB, 5) 'mois
    Sheets("S_curve_" & Appareil).Cells(tab_onglet(Appareil), 6) = .Cells(LB, 6) ' date r
    Sheets("S_curve_" & Appareil).Cells(tab_onglet(Appareil), 7) = .Cells(LB, 7) ' date
End With
End Sub
'#############################################################
'#############################################################
Sub Tri_Base()
Feuil12.Select
Dim L1, C1, L2, C2, COL
L1 = 6
L2 = L1
C1 = 1
C2 = 7
While Cells(L2, 1) <> ""
    L2 = L2 + 1
Wend
L2 = L2 - 1
Range(Cells(L1, C1), Cells(L2, C2)).Select

Feuil12.Sort.SortFields.Clear

COL = "A" & L1 & ":A" & L2 ' Appareil
Feuil12.Sort.SortFields.Add Key:=Range(COL), _
    SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    
COL = "B" & L1 & ":B" & L2 ' Rang
Feuil12.Sort.SortFields.Add Key:=Range(COL), _
    SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
COL = "F" & L1 & ":F" & L2 ' Date r.
Feuil12.Sort.SortFields.Add Key:=Range(COL), _
    SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
COL = "D" & L1 & ":D" & L2 ' Jalons
Feuil12.Sort.SortFields.Add Key:=Range(COL), _
    SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    
    With Feuil12.Sort
        .SetRange Range("A" & L1 & ":G" & L2)
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
Cells(1, 1).Select
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…