Mise ne relation de macro

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

baptbapt

XLDnaute Occasionnel
bonjour

Maintenant que j'ai créée toutes mes macros, j'aimerais pouvoir toutes les mettre dans une meme est unique macro, pour me faciliter la tache, fini d'activiver 12 macros, mais une seul qui lance tous les calculs.

Ayant fait un peu de C, il y a longtemps, donc je n'en ai plus que de vague souvenir.

Je sais commen structurer mes sous-macros, mais j'ai malheuresement un porblème,sa ne marche plus du tout, trop de problème de blocage.

http://cjoint.com/?hhi4OvBTcN

Voila mon Prog

S'il était possible de me montrer comment faire sur une partie de mon prog, me mettre le commencement, sur 4 modules

basetime module5
entry module6
cumul module8
ext module 7

et j'adapterai en rajoutant le reste, mais c'est déja sur cette mise en commun que ma macro ne marche plus

Sub Programme()

Dim i As Variant
Dim g As Range
Dim DebBase As Date

' Calcul la base du temps
DebBase = Int(Range("B5") * 24) / 24

'Saisie du nombre d'itération de la boucle
Do
i = InputBox("Indiquez le nombre de valeurs à caluler de 1 à 256", "Nombre de valeurs", 90)
Loop Until (Val(i) > 0) And (Val(i) < 257)

L = DebBase
'Efface la plage G5:Gxxx
Range("G5:G" & Range("G65536").End(xlUp).Row).ClearContents
'Affecte les temps dans les cellules
For Each g In Range("G5:G" & Val(i) + 4)
g = L
L = L + TimeValue("00:01:00")
'par offset (0,1) on affecte la cellule de droite
g.Offset(0, 1) = L
Next g

Dim z As Range, x%

'Efface la plage K5:Kxxx
Range("K5:K" & Range("K65536").End(xlUp).Row).Select
Selection.ClearContents
For p = 5 To Range("B65536").End(xlUp).Row
For Each z In Range("G5:G" & i + 4)
If Cells(p, 2).Value > Range("G" & z.Row).Value Then
If Cells(p, 2).Value < Range("H" & z.Row).Value Then
If Cells(p, 4).Value = "Entry" Then
Cells(z.Row, 11).Value = Cells(z.Row, 11).Value + 1
Exit For
End If
End If
End If
Next z
Next p

Dim w As Integer
Dim total As Long
Dim ind As Integer
Dim lig As Integer

lig = 9
ind = 4
total = 0
For j = 1 To 87
' en fonction du nombre de valeurs à cumuler
For w = 1 To 10
total = total + Range("K" & w + ind).Value
Range("L" & lig).Value = total
Next w
ind = ind + 1
lig = lig + 1
total = 0
Next j

Dim v As Range, y%

Range("M5:M" & Range("M65536").End(ylUp).Row).Select
Selection.ClearContents
For o = 5 To Range("B65536").End(ylUp).Row
For Each v In Range("G5:G" & i + 4)
If Cells(o, 2).Value > Range("G" & v.Row).Value Then
If Cells(o, 2).Value < Range("H" & v.Row).Value Then
If Cells(o, 4).Value = "Exit" Then
Cells(v.Row, 13).Value = Cells(v.Row, 13).Value + 1
Exit For
End If
End If
End If
Next v
Next o

Dim u As Integer
Dim totall As Long
Dim indd As Integer
Dim ligg As Integer

ligg = 9
indd = 4
totall = 0
For j = 1 To 87
' en fonction du nombre de valeurs à cumuler
For u = 1 To 10
totall = totall + Range("M" & u + indd).Value
Range("N" & ligg).Value = totall
Next u
indd = indd + 1
ligg = ligg + 1
totall = 0
Next j

End Sub

Merci d'avance
 
Re : Mise ne relation de macro

Ok, le problème est réglé.

J'avais une faute de frappe sur l'une de mes relations.
Sinon je suis resté simple, je les ai tous mis a la suite des uns des autres.

Sa fonctionne, mais c'est pas beau du tout, mais tant que sa marche, le reste on s'en fou.

Merci
 
- 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

Réponses
8
Affichages
233
Réponses
4
Affichages
461
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
479
Réponses
10
Affichages
281
Réponses
8
Affichages
466
Réponses
1
Affichages
180
Réponses
5
Affichages
182
Retour