Re-bonjour,
Est-ce possible d'enchaîner deux macros lorsque la première à remplie sa
condition de mettre l'autre à la suite, car j'essaie en vain ......
cf ci-dessous :
Ma première macro
Sub importation()
If MsgBox("Attention cette commande va recopier vos données mensuelles" &
vbLf & "Etes-vous certain de vouloir continuer", vbQuestion + vbYesNo,
"Confirmer") = vbYes Then
Dim i As Long, ligneRecap As Long
nf = [A1]
Application.ScreenUpdating = False
Sheets(nf).Range("A7:L65536").ClearContents
ligneRecap = 6
For i = 6 To [a65536].End(xlUp).Row
If Cells(i, 15) <> "NON" And Cells(i, 3) <> "" Then
ligneRecap = ligneRecap + 1
Cells(i, 1).Resize(1, 12).Copy
Sheets(nf).Cells(ligneRecap, 1).PasteSpecial Paste:=xlValues
End If
Next i
Else
MsgBox "Opératon annulée"
Exit Sub 'répondu non : on arrête
End If
End Sub
donc après copie dans ma feuille de destination je souhaiterais que la
seconde macro fasse la mise à blanc des mes colonnes dans ma feuille de
saisie mais je ne sais pas ou la placer dans la macro ci-dessus ?
ma deuxième macro
Sub MAB()
Range("C6:C10000,E6:E10000,l6:l10000").ClearContents
Range("a1").ClearContents
Range("a1").Select
MsgBox ("Veuillez saisir le mois en cours SVP merci ")
End Sub
Par avance merci
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Daniel.C
Bonjour. Si j'ai bien compris, tu peux mettre ta macro soit avant "Else", soit avant "End Sub" Si elle s'appelle "Macro2" :
Sub importation() If MsgBox("Attention cette commande va recopier vos données mensuelles" & vbLf & "Etes-vous certain de vouloir continuer", vbQuestion + vbYesNo, "Confirmer") = vbYes Then Dim i As Long, ligneRecap As Long nf = [A1] Application.ScreenUpdating = False Sheets(nf).Range("A7:L65536").ClearContents ligneRecap = 6 For i = 6 To [a65536].End(xlUp).Row If Cells(i, 15) <> "NON" And Cells(i, 3) <> "" Then ligneRecap = ligneRecap + 1 Cells(i, 1).Resize(1, 12).Copy Sheets(nf).Cells(ligneRecap, 1).PasteSpecial Paste:=xlValues End If Next i '*** ici Else MsgBox "Opératon annulée" Exit Sub 'répondu non : on arrête End If Macro2 '*** ou là
End Sub
Cordialement. Daniel
"URIANE" a écrit dans le message de news:
Re-bonjour, Est-ce possible d'enchaîner deux macros lorsque la première à remplie sa condition de mettre l'autre à la suite, car j'essaie en vain ...... cf ci-dessous : Ma première macro Sub importation() If MsgBox("Attention cette commande va recopier vos données mensuelles" & vbLf & "Etes-vous certain de vouloir continuer", vbQuestion + vbYesNo, "Confirmer") = vbYes Then Dim i As Long, ligneRecap As Long nf = [A1] Application.ScreenUpdating = False Sheets(nf).Range("A7:L65536").ClearContents ligneRecap = 6 For i = 6 To [a65536].End(xlUp).Row If Cells(i, 15) <> "NON" And Cells(i, 3) <> "" Then ligneRecap = ligneRecap + 1 Cells(i, 1).Resize(1, 12).Copy Sheets(nf).Cells(ligneRecap, 1).PasteSpecial Paste:=xlValues End If Next i Else MsgBox "Opératon annulée" Exit Sub 'répondu non : on arrête End If
End Sub donc après copie dans ma feuille de destination je souhaiterais que la seconde macro fasse la mise à blanc des mes colonnes dans ma feuille de saisie mais je ne sais pas ou la placer dans la macro ci-dessus ?
ma deuxième macro
Sub MAB() Range("C6:C10000,E6:E10000,l6:l10000").ClearContents Range("a1").ClearContents Range("a1").Select MsgBox ("Veuillez saisir le mois en cours SVP merci ") End Sub Par avance merci
Bonjour.
Si j'ai bien compris, tu peux mettre ta macro soit avant "Else", soit avant
"End Sub"
Si elle s'appelle "Macro2" :
Sub importation()
If MsgBox("Attention cette commande va recopier vos données mensuelles" &
vbLf & "Etes-vous certain de vouloir continuer", vbQuestion + vbYesNo,
"Confirmer") = vbYes Then
Dim i As Long, ligneRecap As Long
nf = [A1]
Application.ScreenUpdating = False
Sheets(nf).Range("A7:L65536").ClearContents
ligneRecap = 6
For i = 6 To [a65536].End(xlUp).Row
If Cells(i, 15) <> "NON" And Cells(i, 3) <> "" Then
ligneRecap = ligneRecap + 1
Cells(i, 1).Resize(1, 12).Copy
Sheets(nf).Cells(ligneRecap, 1).PasteSpecial Paste:=xlValues
End If
Next i
'*** ici
Else
MsgBox "Opératon annulée"
Exit Sub 'répondu non : on arrête
End If
Macro2 '*** ou là
End Sub
Cordialement.
Daniel
"URIANE" <uriane@yahoo.fr> a écrit dans le message de news:
eEEEJFe9HHA.1184@TK2MSFTNGP04.phx.gbl...
Re-bonjour,
Est-ce possible d'enchaîner deux macros lorsque la première à remplie sa
condition de mettre l'autre à la suite, car j'essaie en vain ......
cf ci-dessous :
Ma première macro
Sub importation()
If MsgBox("Attention cette commande va recopier vos données mensuelles" &
vbLf & "Etes-vous certain de vouloir continuer", vbQuestion + vbYesNo,
"Confirmer") = vbYes Then
Dim i As Long, ligneRecap As Long
nf = [A1]
Application.ScreenUpdating = False
Sheets(nf).Range("A7:L65536").ClearContents
ligneRecap = 6
For i = 6 To [a65536].End(xlUp).Row
If Cells(i, 15) <> "NON" And Cells(i, 3) <> "" Then
ligneRecap = ligneRecap + 1
Cells(i, 1).Resize(1, 12).Copy
Sheets(nf).Cells(ligneRecap, 1).PasteSpecial Paste:=xlValues
End If
Next i
Else
MsgBox "Opératon annulée"
Exit Sub 'répondu non : on arrête
End If
End Sub
donc après copie dans ma feuille de destination je souhaiterais que la
seconde macro fasse la mise à blanc des mes colonnes dans ma feuille de
saisie mais je ne sais pas ou la placer dans la macro ci-dessus ?
ma deuxième macro
Sub MAB()
Range("C6:C10000,E6:E10000,l6:l10000").ClearContents
Range("a1").ClearContents
Range("a1").Select
MsgBox ("Veuillez saisir le mois en cours SVP merci ")
End Sub
Par avance merci
Bonjour. Si j'ai bien compris, tu peux mettre ta macro soit avant "Else", soit avant "End Sub" Si elle s'appelle "Macro2" :
Sub importation() If MsgBox("Attention cette commande va recopier vos données mensuelles" & vbLf & "Etes-vous certain de vouloir continuer", vbQuestion + vbYesNo, "Confirmer") = vbYes Then Dim i As Long, ligneRecap As Long nf = [A1] Application.ScreenUpdating = False Sheets(nf).Range("A7:L65536").ClearContents ligneRecap = 6 For i = 6 To [a65536].End(xlUp).Row If Cells(i, 15) <> "NON" And Cells(i, 3) <> "" Then ligneRecap = ligneRecap + 1 Cells(i, 1).Resize(1, 12).Copy Sheets(nf).Cells(ligneRecap, 1).PasteSpecial Paste:=xlValues End If Next i '*** ici Else MsgBox "Opératon annulée" Exit Sub 'répondu non : on arrête End If Macro2 '*** ou là
End Sub
Cordialement. Daniel
"URIANE" a écrit dans le message de news:
Re-bonjour, Est-ce possible d'enchaîner deux macros lorsque la première à remplie sa condition de mettre l'autre à la suite, car j'essaie en vain ...... cf ci-dessous : Ma première macro Sub importation() If MsgBox("Attention cette commande va recopier vos données mensuelles" & vbLf & "Etes-vous certain de vouloir continuer", vbQuestion + vbYesNo, "Confirmer") = vbYes Then Dim i As Long, ligneRecap As Long nf = [A1] Application.ScreenUpdating = False Sheets(nf).Range("A7:L65536").ClearContents ligneRecap = 6 For i = 6 To [a65536].End(xlUp).Row If Cells(i, 15) <> "NON" And Cells(i, 3) <> "" Then ligneRecap = ligneRecap + 1 Cells(i, 1).Resize(1, 12).Copy Sheets(nf).Cells(ligneRecap, 1).PasteSpecial Paste:=xlValues End If Next i Else MsgBox "Opératon annulée" Exit Sub 'répondu non : on arrête End If
End Sub donc après copie dans ma feuille de destination je souhaiterais que la seconde macro fasse la mise à blanc des mes colonnes dans ma feuille de saisie mais je ne sais pas ou la placer dans la macro ci-dessus ?
ma deuxième macro
Sub MAB() Range("C6:C10000,E6:E10000,l6:l10000").ClearContents Range("a1").ClearContents Range("a1").Select MsgBox ("Veuillez saisir le mois en cours SVP merci ") End Sub Par avance merci
papou
Bonjour Tu positionnes le nom de ta macro (MAB) entre Next i et Else, soit :
Next i MAB Else MsgBox "Opératon annulée" Exit Sub 'répondu non : on arrête End If
End Sub
Cordialement Pascal
"URIANE" a écrit dans le message de news:
Re-bonjour, Est-ce possible d'enchaîner deux macros lorsque la première à remplie sa condition de mettre l'autre à la suite, car j'essaie en vain ...... cf ci-dessous : Ma première macro Sub importation() If MsgBox("Attention cette commande va recopier vos données mensuelles" & vbLf & "Etes-vous certain de vouloir continuer", vbQuestion + vbYesNo, "Confirmer") = vbYes Then Dim i As Long, ligneRecap As Long nf = [A1] Application.ScreenUpdating = False Sheets(nf).Range("A7:L65536").ClearContents ligneRecap = 6 For i = 6 To [a65536].End(xlUp).Row If Cells(i, 15) <> "NON" And Cells(i, 3) <> "" Then ligneRecap = ligneRecap + 1 Cells(i, 1).Resize(1, 12).Copy Sheets(nf).Cells(ligneRecap, 1).PasteSpecial Paste:=xlValues End If Next i Else MsgBox "Opératon annulée" Exit Sub 'répondu non : on arrête End If
End Sub donc après copie dans ma feuille de destination je souhaiterais que la seconde macro fasse la mise à blanc des mes colonnes dans ma feuille de saisie mais je ne sais pas ou la placer dans la macro ci-dessus ?
ma deuxième macro
Sub MAB() Range("C6:C10000,E6:E10000,l6:l10000").ClearContents Range("a1").ClearContents Range("a1").Select MsgBox ("Veuillez saisir le mois en cours SVP merci ") End Sub Par avance merci
Bonjour
Tu positionnes le nom de ta macro (MAB) entre Next i et Else, soit :
Next i
MAB
Else
MsgBox "Opératon annulée"
Exit Sub 'répondu non : on arrête
End If
End Sub
Cordialement
Pascal
"URIANE" <uriane@yahoo.fr> a écrit dans le message de news:
eEEEJFe9HHA.1184@TK2MSFTNGP04.phx.gbl...
Re-bonjour,
Est-ce possible d'enchaîner deux macros lorsque la première à remplie sa
condition de mettre l'autre à la suite, car j'essaie en vain ......
cf ci-dessous :
Ma première macro
Sub importation()
If MsgBox("Attention cette commande va recopier vos données mensuelles" &
vbLf & "Etes-vous certain de vouloir continuer", vbQuestion + vbYesNo,
"Confirmer") = vbYes Then
Dim i As Long, ligneRecap As Long
nf = [A1]
Application.ScreenUpdating = False
Sheets(nf).Range("A7:L65536").ClearContents
ligneRecap = 6
For i = 6 To [a65536].End(xlUp).Row
If Cells(i, 15) <> "NON" And Cells(i, 3) <> "" Then
ligneRecap = ligneRecap + 1
Cells(i, 1).Resize(1, 12).Copy
Sheets(nf).Cells(ligneRecap, 1).PasteSpecial Paste:=xlValues
End If
Next i
Else
MsgBox "Opératon annulée"
Exit Sub 'répondu non : on arrête
End If
End Sub
donc après copie dans ma feuille de destination je souhaiterais que la
seconde macro fasse la mise à blanc des mes colonnes dans ma feuille de
saisie mais je ne sais pas ou la placer dans la macro ci-dessus ?
ma deuxième macro
Sub MAB()
Range("C6:C10000,E6:E10000,l6:l10000").ClearContents
Range("a1").ClearContents
Range("a1").Select
MsgBox ("Veuillez saisir le mois en cours SVP merci ")
End Sub
Par avance merci
Bonjour Tu positionnes le nom de ta macro (MAB) entre Next i et Else, soit :
Next i MAB Else MsgBox "Opératon annulée" Exit Sub 'répondu non : on arrête End If
End Sub
Cordialement Pascal
"URIANE" a écrit dans le message de news:
Re-bonjour, Est-ce possible d'enchaîner deux macros lorsque la première à remplie sa condition de mettre l'autre à la suite, car j'essaie en vain ...... cf ci-dessous : Ma première macro Sub importation() If MsgBox("Attention cette commande va recopier vos données mensuelles" & vbLf & "Etes-vous certain de vouloir continuer", vbQuestion + vbYesNo, "Confirmer") = vbYes Then Dim i As Long, ligneRecap As Long nf = [A1] Application.ScreenUpdating = False Sheets(nf).Range("A7:L65536").ClearContents ligneRecap = 6 For i = 6 To [a65536].End(xlUp).Row If Cells(i, 15) <> "NON" And Cells(i, 3) <> "" Then ligneRecap = ligneRecap + 1 Cells(i, 1).Resize(1, 12).Copy Sheets(nf).Cells(ligneRecap, 1).PasteSpecial Paste:=xlValues End If Next i Else MsgBox "Opératon annulée" Exit Sub 'répondu non : on arrête End If
End Sub donc après copie dans ma feuille de destination je souhaiterais que la seconde macro fasse la mise à blanc des mes colonnes dans ma feuille de saisie mais je ne sais pas ou la placer dans la macro ci-dessus ?
ma deuxième macro
Sub MAB() Range("C6:C10000,E6:E10000,l6:l10000").ClearContents Range("a1").ClearContents Range("a1").Select MsgBox ("Veuillez saisir le mois en cours SVP merci ") End Sub Par avance merci
Michel_D
Bonjour,
Voici ou il faut mettre à priori l'appel de ta 2 ème procédure :
If MsgBox("Attention cette commande va recopier vos données mensuelles" & vbLf & "Etes-vous certain de vouloir continuer", vbQuestion + vbYesNo, "Confirmer") = vbYes Then ... Next i ' Tu appelle ta procédure ici (ou tu recopie le code ici) Else ... End If
"URIANE" a écrit dans le message de news:
Re-bonjour, Est-ce possible d'enchaîner deux macros lorsque la première à remplie sa condition de mettre l'autre à la suite, car j'essaie en vain ...... cf ci-dessous : Ma première macro Sub importation() If MsgBox("Attention cette commande va recopier vos données mensuelles" & vbLf & "Etes-vous certain de vouloir continuer", vbQuestion + vbYesNo, "Confirmer") = vbYes Then Dim i As Long, ligneRecap As Long nf = [A1] Application.ScreenUpdating = False Sheets(nf).Range("A7:L65536").ClearContents ligneRecap = 6 For i = 6 To [a65536].End(xlUp).Row If Cells(i, 15) <> "NON" And Cells(i, 3) <> "" Then ligneRecap = ligneRecap + 1 Cells(i, 1).Resize(1, 12).Copy Sheets(nf).Cells(ligneRecap, 1).PasteSpecial Paste:=xlValues End If Next i Else MsgBox "Opératon annulée" Exit Sub 'répondu non : on arrête End If
End Sub donc après copie dans ma feuille de destination je souhaiterais que la seconde macro fasse la mise à blanc des mes colonnes dans ma feuille de saisie mais je ne sais pas ou la placer dans la macro ci-dessus ?
ma deuxième macro
Sub MAB() Range("C6:C10000,E6:E10000,l6:l10000").ClearContents Range("a1").ClearContents Range("a1").Select MsgBox ("Veuillez saisir le mois en cours SVP merci ") End Sub Par avance merci
Bonjour,
Voici ou il faut mettre à priori l'appel de ta 2 ème procédure :
If MsgBox("Attention cette commande va recopier vos données mensuelles" &
vbLf & "Etes-vous certain de vouloir continuer", vbQuestion + vbYesNo,
"Confirmer") = vbYes Then
...
Next i
' Tu appelle ta procédure ici (ou tu recopie le code ici)
Else
...
End If
"URIANE" <uriane@yahoo.fr> a écrit dans le message de news:eEEEJFe9HHA.1184@TK2MSFTNGP04.phx.gbl...
Re-bonjour,
Est-ce possible d'enchaîner deux macros lorsque la première à remplie sa
condition de mettre l'autre à la suite, car j'essaie en vain ......
cf ci-dessous :
Ma première macro
Sub importation()
If MsgBox("Attention cette commande va recopier vos données mensuelles" &
vbLf & "Etes-vous certain de vouloir continuer", vbQuestion + vbYesNo,
"Confirmer") = vbYes Then
Dim i As Long, ligneRecap As Long
nf = [A1]
Application.ScreenUpdating = False
Sheets(nf).Range("A7:L65536").ClearContents
ligneRecap = 6
For i = 6 To [a65536].End(xlUp).Row
If Cells(i, 15) <> "NON" And Cells(i, 3) <> "" Then
ligneRecap = ligneRecap + 1
Cells(i, 1).Resize(1, 12).Copy
Sheets(nf).Cells(ligneRecap, 1).PasteSpecial Paste:=xlValues
End If
Next i
Else
MsgBox "Opératon annulée"
Exit Sub 'répondu non : on arrête
End If
End Sub
donc après copie dans ma feuille de destination je souhaiterais que la
seconde macro fasse la mise à blanc des mes colonnes dans ma feuille de
saisie mais je ne sais pas ou la placer dans la macro ci-dessus ?
ma deuxième macro
Sub MAB()
Range("C6:C10000,E6:E10000,l6:l10000").ClearContents
Range("a1").ClearContents
Range("a1").Select
MsgBox ("Veuillez saisir le mois en cours SVP merci ")
End Sub
Par avance merci
Voici ou il faut mettre à priori l'appel de ta 2 ème procédure :
If MsgBox("Attention cette commande va recopier vos données mensuelles" & vbLf & "Etes-vous certain de vouloir continuer", vbQuestion + vbYesNo, "Confirmer") = vbYes Then ... Next i ' Tu appelle ta procédure ici (ou tu recopie le code ici) Else ... End If
"URIANE" a écrit dans le message de news:
Re-bonjour, Est-ce possible d'enchaîner deux macros lorsque la première à remplie sa condition de mettre l'autre à la suite, car j'essaie en vain ...... cf ci-dessous : Ma première macro Sub importation() If MsgBox("Attention cette commande va recopier vos données mensuelles" & vbLf & "Etes-vous certain de vouloir continuer", vbQuestion + vbYesNo, "Confirmer") = vbYes Then Dim i As Long, ligneRecap As Long nf = [A1] Application.ScreenUpdating = False Sheets(nf).Range("A7:L65536").ClearContents ligneRecap = 6 For i = 6 To [a65536].End(xlUp).Row If Cells(i, 15) <> "NON" And Cells(i, 3) <> "" Then ligneRecap = ligneRecap + 1 Cells(i, 1).Resize(1, 12).Copy Sheets(nf).Cells(ligneRecap, 1).PasteSpecial Paste:=xlValues End If Next i Else MsgBox "Opératon annulée" Exit Sub 'répondu non : on arrête End If
End Sub donc après copie dans ma feuille de destination je souhaiterais que la seconde macro fasse la mise à blanc des mes colonnes dans ma feuille de saisie mais je ne sais pas ou la placer dans la macro ci-dessus ?
ma deuxième macro
Sub MAB() Range("C6:C10000,E6:E10000,l6:l10000").ClearContents Range("a1").ClearContents Range("a1").Select MsgBox ("Veuillez saisir le mois en cours SVP merci ") End Sub Par avance merci