Variation du nombre de lignes et de colonnes

  • Initiateur de la discussion Je débute
  • Date de début
J

Je débute

Guest
Bonjour à tous,
Je suis en train de construire un tableau correspondant à un planning mensuel qui se ferai automatiquement, avec 1 jour correspondant a deux colonnes.
J'utilise le code suivant:
Sheets('Etat initial').Select
Range( _
'B9:C9,B10:C10,B11:C11,B12:C12,B13:C13,B14:C14,B15:C15,B16:C16,B17:C17,B18:C18,B19:C19,B20:C20,B21:C21,B22:C22,B23:C23,B24:C24,B25:C25,B26:C26,B27:C28,B29:C29,B30:C30' _
).Select
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = True
.Orientation = 0
.AddIndent = False
.ShrinkToFit = False
.MergeCells = True
End With
Range( _
'D3:E3,D4:E4,D5:E5,D6:E6,D7:E7,D8:E8,D9:E9,D10:E10,D11:E11,D12:E12,D13:E13,D14:E14,D15:E15,D16:E16,D17:E17,D18:E18,D19:E19,D20:E20,D21:E21,D22:E22' _
).Select
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = True
.Orientation = 0
.AddIndent = False
.ShrinkToFit = False
.MergeCells = True
End With


Ce code correspond au codage de 2 jours (4 colonnes) et a 19 lignes.
Je dois recopier la même chose pour arriver a 31 jours (62 colonnes).
Puis je trouver une formule qui me permettrai de faire la même chose mais de le coder plus rapidement?
D'autre part je suis ici limité a 19 lignes, puis je faire varier automatiquement le nombre de lignes en fonction d'une liste de noms dans une autre feuille?

Je vous remercie
 

ChTi160

XLDnaute Barbatruc
Salut Je débute Lol

vite fait tu peux dejà simplifier ceci Sheets('Etat initial').Select
Range( _
'B9:C9,B10:C10,B11:C11,B12:C12,B13:C13,B14:C14,B15:C15,B16:C16,B17:C17,B18:C18,B19:C19,B20:C20,B21: C21,B22:C22,B23:C23,B24:C24,B25:C25,B26:C26,B27:C28,B29:C29,B30:C30' ).Select
En
Sheets('Etat initial').Select
Range(B9:C30').Select
Range( _
'D3:E3,D4:E4,D5:E5,D6:E6,D7:E7,D8:E8,D9:E9,D10:E10,D11:E11,D12:E12,D13:E13,D14:E14,D15:E15,D16:E16,
D17:E17,D18:E18,D19:E19,D20:E20,D21:E21,D22:E22').Select
en
Range('D3:E22').Select
si par exemple tu as en feuill2 une liste ou se trouvent en Colonne A des données de la ligne 2 à la ligne 30 pour déterminer le nombre de lignes tu pars du bas et tu fait
with Worksheets('Feuil1')
DerniereLigne =.Range('A65536').End (xlUp).Row
NombreDeLigne=.Range('A2:A'&DerniereLigne).Rows.count
tu as ainsi le nombre de lignes
End With
ensuite tu en déduis
Range('A2:A'& NombreDeLigne).Select
Arfff pas évident d'expliquer sans fichier lol
pour ce qui est de la mise en forme tu dois aussi pouvoir simplifier
 
J

Je débute

Guest
Pensez vous que le code suivant puisse convenir?
Sub Matin_et_midi()
' Matin_et_midi Macro
Dim i As Integer
Dim J, K As String
J = J + 1
K = J + 1

Sheets('Etat initial').Select
For i = 9 To 40
For J = B To BJ
Range('Ji:Ki').Select
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = True
.Orientation = 0
.AddIndent = False
.ShrinkToFit = False
.MergeCells = True
End With
Next
Range('A1:A2').Select
Sheets('Paramètres').Select
Range('E43').Select
End Sub


Merci pour votre attention
 

ChTi160

XLDnaute Barbatruc
re arfff
je me ppermet bien que tu n'as pas encore vu ma réponse
Dim L As Byte 'pour les lignes
Dim C as byte 'pour les Colonnes


With Sheets('Etat initial')
.Select
For L = 9 To 40
For C = 2 To 20 'exemple
.Cells(L,C).Select
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = True
.MergeCells = True
End With
Next C
Next L
End With
juste pour coriger les erreurs dans ton code pour la détermination des cellules
 
J

Je débute

Guest
Et bien après plusieurs tentatives, cela ne fonctionne pas. :S
Et fait je souhaiterai qu'a partir du moment ou on a sélectionné ce que l'on veut avec le bouton a bascule, et bien le tableau aurai soit 2 colonnes par jours, soit une seule.

Merci pour votre aide
 

Discussions similaires

Réponses
11
Affichages
434
Réponses
2
Affichages
935

Statistiques des forums

Discussions
312 206
Messages
2 086 219
Membres
103 158
dernier inscrit
laufin