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

Boîte message pour valider lancement macro

6 réponses
Avatar
PLG
Bonjour à vous tous

Voilà... j'ai une macro qui récupère des données d'une feuille nommée
"Saisie"et les ventile sur une cinquantaine d'autres feuilles.
A la fin, toutes les données de "Saisie" sont effacées !
Je souhaiterais donc que lorsque la personne lance cette macro, il lui soit
demandé dans une fenêtre : Etes vous sûr ? ( avec 2 boutons " oui" et "non" )
Si oui, la macro déroule, si non on quitte la macro.
Tant que j'y suis... ( j'abuse un peu! )

Le code qui suit est super mais copie la totalité ( données, formats..... )
J'aurais souhaité que ne soit copié que les Valeurs.
[D4:N4].Copy Sheets("1").[D65000].End(xlUp).Offset(1, 0)

Bonne soiré, nuit... et merci d'avance de votre attention ainsi que de vos
réponses.
Pat

6 réponses

Avatar
JPMonnier
Bonsoir
réponse 1
Sub Vboui()
If MsgBox("Exécuter macro1, êtes vous sûr ?", Vbyesno) = Vbyes Then
Macro1
End If
End Sub

--
Cordialement

"PLG" a écrit dans le message de
news:
Bonjour à vous tous

Voilà... j'ai une macro qui récupère des données d'une feuille nommée
"Saisie"et les ventile sur une cinquantaine d'autres feuilles.
A la fin, toutes les données de "Saisie" sont effacées !
Je souhaiterais donc que lorsque la personne lance cette macro, il lui
soit
demandé dans une fenêtre : Etes vous sûr ? ( avec 2 boutons " oui" et
"non" )
Si oui, la macro déroule, si non on quitte la macro.
Tant que j'y suis... ( j'abuse un peu! )

Le code qui suit est super mais copie la totalité ( données,
formats..... )
J'aurais souhaité que ne soit copié que les Valeurs.
[D4:N4].Copy Sheets("1").[D65000].End(xlUp).Offset(1, 0)

Bonne soiré, nuit... et merci d'avance de votre attention ainsi que de vos
réponses.
Pat


Avatar
JPMonnier
réponse 2
La copy reste inchangée
c'est quand tu colles qu'il faut utiliser cette commande
sélectionne la destination puis :

Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:úlse
--
Cordialement

"PLG" a écrit dans le message de
news:
Bonjour à vous tous

Voilà... j'ai une macro qui récupère des données d'une feuille nommée
"Saisie"et les ventile sur une cinquantaine d'autres feuilles.
A la fin, toutes les données de "Saisie" sont effacées !
Je souhaiterais donc que lorsque la personne lance cette macro, il lui
soit
demandé dans une fenêtre : Etes vous sûr ? ( avec 2 boutons " oui" et
"non" )
Si oui, la macro déroule, si non on quitte la macro.
Tant que j'y suis... ( j'abuse un peu! )

Le code qui suit est super mais copie la totalité ( données,
formats..... )
J'aurais souhaité que ne soit copié que les Valeurs.
[D4:N4].Copy Sheets("1").[D65000].End(xlUp).Offset(1, 0)

Bonne soiré, nuit... et merci d'avance de votre attention ainsi que de vos
réponses.
Pat


Avatar
FFO
Salut à toi

Pour ta première demande je te propose ces lignes de code :

If MsgBox("Etes vous sûr ?", vbYesNo) = vbNo Then
Exit Sub
Else
Code .....
End If


Pour ta 2° demande je te propose ceci :

Sheets("1").Range("D" & Sheets("1").Range("D65000").End(xlUp).Row, "N" &
Sheets("1").Range("D65000").End(xlUp).Row).Value = Range("D4","N4").Value

A mettre sur une seule ligne dans l'éditeur VBA

Celà devrait te convenir
Dis moi !!!!!
Avatar
PLG
Merci JP pour ta promptitude à répondre.
Je vais aller manger, aussi je testerai tes solutions tout à l'heure.
Je repasse donc !
Encore merci

"JPMonnier" a écrit :

réponse 2
La copy reste inchangée
c'est quand tu colles qu'il faut utiliser cette commande
sélectionne la destination puis :

Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:úlse
--
Cordialement

"PLG" a écrit dans le message de
news:
> Bonjour à vous tous
>
> Voilà... j'ai une macro qui récupère des données d'une feuille nommée
> "Saisie"et les ventile sur une cinquantaine d'autres feuilles.
> A la fin, toutes les données de "Saisie" sont effacées !
> Je souhaiterais donc que lorsque la personne lance cette macro, il lui
> soit
> demandé dans une fenêtre : Etes vous sûr ? ( avec 2 boutons " oui" et
> "non" )
> Si oui, la macro déroule, si non on quitte la macro.
> Tant que j'y suis... ( j'abuse un peu! )
>
> Le code qui suit est super mais copie la totalité ( données,
> formats..... )
> J'aurais souhaité que ne soit copié que les Valeurs.
> [D4:N4].Copy Sheets("1").[D65000].End(xlUp).Offset(1, 0)
>
> Bonne soiré, nuit... et merci d'avance de votre attention ainsi que de vos
> réponses.
> Pat




Avatar
PLG
Bonsoir FFO (?)

Je te remercie pour tes deux réponses, les deux me conviennent très bien.
JPMonier avait lui aussi donné 2 solutions parfaites.
Pour la question 1, ton code s'insère directement dans le mien, JP me donne
un nouveau qui lance ou non ma macro.
Tous les chemins ne mènent ils pas à Rome ...!?
Je te remercie pour ton aide.
Bonne soirée à toi et à un de ces 4 peut-être !
Pat


"FFO" a écrit :

Salut à toi

Pour ta première demande je te propose ces lignes de code :

If MsgBox("Etes vous sûr ?", vbYesNo) = vbNo Then
Exit Sub
Else
Code .....
End If


Pour ta 2° demande je te propose ceci :

Sheets("1").Range("D" & Sheets("1").Range("D65000").End(xlUp).Row, "N" &
Sheets("1").Range("D65000").End(xlUp).Row).Value = Range("D4","N4").Value

A mettre sur une seule ligne dans l'éditeur VBA

Celà devrait te convenir
Dis moi !!!!!



Avatar
PLG
Bon.... me re-voilà !
J'ai testé tes deux solutions à mes deux petits problèmes...
Cela fonctionne parfaitement.
Je te remercie de ton aide et te souhaite une bonne soirée.
A bientôt peut-être...
Pat

"JPMonnier" a écrit :

réponse 2
La copy reste inchangée
c'est quand tu colles qu'il faut utiliser cette commande
sélectionne la destination puis :

Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:úlse
--
Cordialement

"PLG" a écrit dans le message de
news:
> Bonjour à vous tous
>
> Voilà... j'ai une macro qui récupère des données d'une feuille nommée
> "Saisie"et les ventile sur une cinquantaine d'autres feuilles.
> A la fin, toutes les données de "Saisie" sont effacées !
> Je souhaiterais donc que lorsque la personne lance cette macro, il lui
> soit
> demandé dans une fenêtre : Etes vous sûr ? ( avec 2 boutons " oui" et
> "non" )
> Si oui, la macro déroule, si non on quitte la macro.
> Tant que j'y suis... ( j'abuse un peu! )
>
> Le code qui suit est super mais copie la totalité ( données,
> formats..... )
> J'aurais souhaité que ne soit copié que les Valeurs.
> [D4:N4].Copy Sheets("1").[D65000].End(xlUp).Offset(1, 0)
>
> Bonne soiré, nuit... et merci d'avance de votre attention ainsi que de vos
> réponses.
> Pat