Supprimer de tableau temporaire valeurs

  • Initiateur de la discussion Initiateur de la discussion carlos
  • 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 !

carlos

XLDnaute Impliqué
Bonjour le forum



voici un code qui permet de coller dans la colonne 'A' tous les 'Lundis' compris entre 2 dates de travail (textbox1 et 2).
J'aimerais aussi que les 'Lundis de vacances' compris entre le textbox4 et le textbox5 ne soient pas pris en compte.


De plus, je débute dans les tabTemp ;donc si vous pouvez apporter une amélioration dans ce code , ce serait avec plaisir.
voir Piece jointe : merci
Carlos [file name=TabTemp.zip size=12811]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/TabTemp.zip[/file]
 

Pièces jointes

salut carlos

normalement les tabtemp sont chasses gardées de didiermdf ou de chti160 🙂

j'ai pas bien l'habitude de travailler avec les tabtemp, je préfère les tablo.

peut etre comme ceci :



Private Sub CommandButton1_Click()
Dim L As Integer, x As Integer
Dim L2 As Integer
Dim i As Byte
Dim durée As Variant
Dim TabTemp() As Date
Dim TabTemp2() As Date
Dim TabTemp3() As Date

Columns(1).ClearContents
durée =
CDate(TextBox2.Value) - CDate(TextBox1.Value)
' Remplir le tableau de valeurs, tous les jours de la semaine.
For L = 1 To durée
x = x + 1
ReDim Preserve TabTemp(1 To x)
TabTemp(x) = CDate(TextBox1.Value) - 1 + L
Next L
'remplir 2 ieme tableau en ne gardant que les jour voulu
x = 0
For i = 1 To UBound(TabTemp)
If Weekday(TabTemp(i)) = Val(TextBox3.Value) Then
x = x + 1
ReDim Preserve TabTemp2(1 To x)
TabTemp2(x) = TabTemp(i)
End If
Next i
'Supprimer du tabTemp les jours de vacances
x = 0
For i = 1 To UBound(TabTemp2)
If TabTemp2(i) CDate(TextBox4) Then
x = x + 1
ReDim Preserve TabTemp3(1 To x)
TabTemp3(x) = TabTemp2(i)
End If
Next i



'Coller valeurs tab
If Not x = 0 Then 'ici on gere le fait que le tableau tabtemp pourrait etre vide
For L2 = 1 To UBound(TabTemp3, 1)
Cells(L2, 1).Value =
TabTemp3(L2)
Next L2
End If

End Sub


mais, 3 variables tableaux me semble un peu lourd à gérer.

salut

Message édité par: hervé, à: 26/03/2006 10:13
 
re

une autre facon de faire :


edition : voir pièce jointe

attention :
ton code ne tiens pas compte du lundi 26/09/05

salut [file name=TabTemp_20060326110428.zip size=10743]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/TabTemp_20060326110428.zip[/file]

Message édité par: hervé, à: 26/03/2006 11:04
 

Pièces jointes

Bonjour Hervé , Bonjour le forum

J'ai bien aimé :

For jour = CDate(TextBox1) To CDate(TextBox2)

je n'y avais pas pensé .

Tu as beaucoup simplifié les choses et c'est tres tres bien.
Je vais me coller au 'redim preserve' pour comprendre la taille du tableau et ainsi continuer mon projet.

Encore une fois merci de ton aide précieuse

Cordialement Carlos
 
- 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

Discussions similaires

E
Réponses
11
Affichages
2 K
E
P
Réponses
1
Affichages
1 K
Pierrot93
P
P
Réponses
4
Affichages
2 K
J
Réponses
2
Affichages
912
julie75
J
M
Réponses
4
Affichages
1 K
Gérard DEZAMIS
G
M
Réponses
9
Affichages
1 K
M
B
  • Question Question
Réponses
2
Affichages
1 K
Bertrand
B
F
Réponses
1
Affichages
840
Denis
D
Retour