Chronogramme sous excel, dur dur !

Hellstyx

XLDnaute Nouveau
Bonjour à vous, voici mon problème :

Dans un tableau excel j'aimerais créer un chronogramme de la manière suivante :

J'ai des valeurs décimales contenues dans les cellules de P1 à P7 et Q1 à Q7 de la feuille1
De P1 à P7 : 0,1 ; 12 ; 25 ; 45 ; 0,1 ; 5 ; 6
De Q1 à Q7 : 2 ; 5 ; 13 ; 24 ; 4 ; 7 ; 0,5

J'aimerais, à l'aide d'une macro, modifier la largeur des colonnes de la feuille2 en fonction de ces valeurs, dans lesquelles je mettrai de la couleur pour faire un chronogramme ! En partant de la colonne A.

Les valeur en P correspondent aux front montants du chronogramme et sont considérées comme des temps machine.
Les valeurs en Q correspondent aux temps d'attente entre deux temps machines.

Littéralement ça donne :
- La valeur en P1 feuille1 détermine la largeur de la colonne A feuille2
- La valeur de Q1 feuille1 détermine la largeur de la colonne B feuille2
- La valeur en P2 feuille1 détermine la largeur de la colonne C feuille2
- La valeur en Q2 feuille1 détermine la largeur de la colonne D feuille2

etc... On alterne temps machine et temps d'arrêt ( Valeurs en P et valeurs en Q ).



J'essaye d'être le plus clair possible, mais je ne sais pas si je m'exprime correctement.

Merci d'avance !
 

JCGL

XLDnaute Barbatruc
Re : Chronogramme sous excel, dur dur !

Bonjour à tous,

Peux-tu essayer avec :

Code:
Option Explicit

Sub Chronogramme()
    Dim X As Byte

    For X = 1 To 7
        Feuil2.Columns(X).ColumnWidth = Feuil1.Range("P" & X).Value
        Feuil2.Columns(X + [SIZE=4][COLOR=Red][B]1[/B][/COLOR][/SIZE]).ColumnWidth = Feuil1.Range("Q" & X).Value
    Next X
End Sub
A+ à tous

Edtion : Effectivement le + 7 est à remplacer par + 1. Mais j'ai l'ai comme l'impression qu'il manque une boucle... Merci Eric
 
Dernière édition:

ERIC S

XLDnaute Barbatruc
Re : Chronogramme sous excel, dur dur !

Bonsoir à vous

ne serait-ce pas plutôt (de tête)

Code:
For X = 1 To 14 step 2
        Feuil2.Columns(X).ColumnWidth = Feuil1.Range("P" & X).Value
        Feuil2.Columns(X + 1).ColumnWidth = Feuil1.Range("Q" & X).Value
    Next X
 

ROGER2327

XLDnaute Barbatruc
Re : Chronogramme sous excel, dur dur !

Bonsoir à tous
Je verrais bien :
Code:
[COLOR="DarkSlateGray"][B]Sub Chronogramme_1()
Dim X As Byte
   For X = 1 To 7
      Feuil2.Columns([COLOR="Sienna"]2 * X - 1[/COLOR]).ColumnWidth = Feuil1.Range("P" & X).Value
      Feuil2.Columns([COLOR="Sienna"]2 * X[/COLOR]).ColumnWidth = Feuil1.Range("Q" & X).Value
   Next X
End Sub[/B][/COLOR]
ou
Code:
[COLOR="DarkSlateGray"][B]Sub Chronogramme_2()
Dim X As Byte
   For X = [COLOR="Sienna"]2[/COLOR] To 14 Step 2
      Feuil2.Columns([COLOR="Sienna"]X - 1[/COLOR]).ColumnWidth = Feuil1.Range("P" & [COLOR="Sienna"]X / 2[/COLOR]).Value
      Feuil2.Columns([COLOR="Sienna"]X[/COLOR]).ColumnWidth = Feuil1.Range("Q" & [COLOR="Sienna"]X / 2[/COLOR]).Value
   Next X
End Sub[/B][/COLOR]
ROGER2327
#3302
 
Dernière édition:

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 196
Messages
2 086 101
Membres
103 116
dernier inscrit
kutobi87