Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Afficher un message d'attente lors de l'exécution d'une macro

2 réponses
Avatar
kamal
Bonjour le forum
Merci de m'aider =E0 afficher un message d'attente pendant l'execution
de la macro ci-dessous, et un message de fin du traitement, j'ai
essayer beaucoup de chose mais j'ai pas r=E9ussi.
merci de votre aide, =E7a fait 2 mos que je travail sur ce petit
projets.
***************************************************************************=
***********
Sub test()
Dim chemin As String
Dim nom As String
Dim lig As Byte, r As Byte
Dim valeur As String
Dim tablo

lig =3D 1
chemin =3D "c:\based\"
nom =3D Dir(chemin & "*.csv")


Do While Not nom =3D ""
Open chemin & nom For Input As #1
Line Input #1, valeur
tablo =3D Split(valeur, ";")
For r =3D 1 To UBound(tablo)
Cells(lig + 1, r + 1) =3D tablo(r)
Next r
lig =3D lig + 4
nom =3D Dir
Close #1
Loop
'Stop
Dim Feuille As String, Col As Integer
Dim a As String, b As String
Feuille =3D ActiveSheet.Name
'****************************************
For i =3D 2 To 54 Step 4
For j =3D 1 To 12
Set ici =3D Cells(i, j)
If Cells(i, j) <> "" Then

'a =3D ActiveCell.Text
T =3D ici.Top
L =3D ici.Left
W =3D ici.Width
H =3D ici.Height
Set un =3D ActiveSheet.Shapes. _
AddTextbox(msoTextOrientationHorizontal, L, T, W, H)
un.Fill.Visible =3D msoFalse
un.Name =3D "zoneT" & i & j
End If
Next j
Next i

'****************************************

For i =3D 2 To 54 Step 4
For j =3D 1 To 10
For k =3D 2 To 54 Step 4
For Col =3D 1 To 15
If Cells(i, j) <> "" Then

'****************************************
Then

'****************************************
If Cells(i, j) =3D Cells(k, Col) And i > k Then

'************************************
Dim zt1, zt2 As String
zt1 =3D "zoneT" & i & j
zt2 =3D "zoneT" & k & Col
If i <=3D k Then
If j <=3D Col Then
ActiveSheet.Shapes.AddConnector(msoConnectorElbow, 0, 0, 0,
0).Select
Selection.ShapeRange.ConnectorFormat.BeginConnect
ActiveSheet.Shapes( _
zt2), 2
Selection.ShapeRange.ConnectorFormat.EndConnect
ActiveSheet.Shapes(zt1 _
), 1
Selection.ShapeRange.Line.EndArrowheadStyle =3D
msoArrowheadTriangle
Selection.ShapeRange.Line.ForeColor.SchemeColor =3D 12 * j
Else

ActiveSheet.Shapes.AddConnector(msoConnectorElbow, 0, 0, 0,
0).Select
Selection.ShapeRange.ConnectorFormat.BeginConnect
ActiveSheet.Shapes( _
zt2), 3
Selection.ShapeRange.ConnectorFormat.EndConnect
ActiveSheet.Shapes(zt1 _
), 1
Selection.ShapeRange.Line.ForeColor.SchemeColor =3D 12 * j
Selection.ShapeRange.Line.EndArrowheadStyle =3D
msoArrowheadTriangle
End If
Else
ActiveSheet.Shapes.AddConnector(msoConnectorElbow, 0, 0, 0,
0).Select
Selection.ShapeRange.ConnectorFormat.BeginConnect
ActiveSheet.Shapes( _
zt2), 3
Selection.ShapeRange.ConnectorFormat.EndConnect
ActiveSheet.Shapes(zt1 _
), 2
Selection.ShapeRange.Line.ForeColor.SchemeColor =3D 12 * j
Selection.ShapeRange.Line.EndArrowheadStyle =3D
msoArrowheadTriangle
End If
End If
End If
Next Col
Next k
Next j
Next i
End Sub

2 réponses

Avatar
RV
Bonsoir Kamal,
Un exemple sur Excelabo: http://www.excelabo.net/xl/tempo.php#macroencours
Cordialement
RV

"kamal" a écrit dans le message de news:

Bonjour le forum
Merci de m'aider à afficher un message d'attente pendant l'execution
de la macro ci-dessous, et un message de fin du traitement, j'ai
essayer beaucoup de chose mais j'ai pas réussi.
merci de votre aide, ça fait 2 mos que je travail sur ce petit
projets.
**************************************************************************************
Sub test()
Dim chemin As String
Dim nom As String
Dim lig As Byte, r As Byte
Dim valeur As String
Dim tablo

lig = 1
chemin = "c:based"
nom = Dir(chemin & "*.csv")


Do While Not nom = ""
Open chemin & nom For Input As #1
Line Input #1, valeur
tablo = Split(valeur, ";")
For r = 1 To UBound(tablo)
Cells(lig + 1, r + 1) = tablo(r)
Next r
lig = lig + 4
nom = Dir
Close #1
Loop
'Stop
Dim Feuille As String, Col As Integer
Dim a As String, b As String
Feuille = ActiveSheet.Name
'****************************************
For i = 2 To 54 Step 4
For j = 1 To 12
Set ici = Cells(i, j)
If Cells(i, j) <> "" Then

'a = ActiveCell.Text
T = ici.Top
L = ici.Left
W = ici.Width
H = ici.Height
Set un = ActiveSheet.Shapes. _
AddTextbox(msoTextOrientationHorizontal, L, T, W, H)
un.Fill.Visible = msoFalse
un.Name = "zoneT" & i & j
End If
Next j
Next i

'****************************************

For i = 2 To 54 Step 4
For j = 1 To 10
For k = 2 To 54 Step 4
For Col = 1 To 15
If Cells(i, j) <> "" Then

'****************************************
Then

'****************************************
If Cells(i, j) = Cells(k, Col) And i > k Then

'************************************
Dim zt1, zt2 As String
zt1 = "zoneT" & i & j
zt2 = "zoneT" & k & Col
If i <= k Then
If j <= Col Then
ActiveSheet.Shapes.AddConnector(msoConnectorElbow, 0, 0, 0,
0).Select
Selection.ShapeRange.ConnectorFormat.BeginConnect
ActiveSheet.Shapes( _
zt2), 2
Selection.ShapeRange.ConnectorFormat.EndConnect
ActiveSheet.Shapes(zt1 _
), 1
Selection.ShapeRange.Line.EndArrowheadStyle msoArrowheadTriangle
Selection.ShapeRange.Line.ForeColor.SchemeColor = 12 * j
Else

ActiveSheet.Shapes.AddConnector(msoConnectorElbow, 0, 0, 0,
0).Select
Selection.ShapeRange.ConnectorFormat.BeginConnect
ActiveSheet.Shapes( _
zt2), 3
Selection.ShapeRange.ConnectorFormat.EndConnect
ActiveSheet.Shapes(zt1 _
), 1
Selection.ShapeRange.Line.ForeColor.SchemeColor = 12 * j
Selection.ShapeRange.Line.EndArrowheadStyle msoArrowheadTriangle
End If
Else
ActiveSheet.Shapes.AddConnector(msoConnectorElbow, 0, 0, 0,
0).Select
Selection.ShapeRange.ConnectorFormat.BeginConnect
ActiveSheet.Shapes( _
zt2), 3
Selection.ShapeRange.ConnectorFormat.EndConnect
ActiveSheet.Shapes(zt1 _
), 2
Selection.ShapeRange.Line.ForeColor.SchemeColor = 12 * j
Selection.ShapeRange.Line.EndArrowheadStyle msoArrowheadTriangle
End If
End If
End If
Next Col
Next k
Next j
Next i
End Sub
Avatar
kamal
Merci RV de votre réponse
j'essaye d'adapter le code avec ma macro
pour la première fois j'ai eu une boucle sans arret (lol) mais je
trouverai la solution
merci infiniment