commandbutton - bouton non

MikeBelgique

XLDnaute Occasionnel
Bonjour Forum
J'ai créer un commandbutton dans le lequel ce dernier appel une macro copier
lorsque je clique sur le command button s'affiche une fenetre voulez vous remplacer le contenu des cellule oui - non si je choissis oui la macro se déroule parfaitement bien c'était le but recherché de ce commandbutton mais lorsque je choissis non il me genere une erreur 1004 le PasteSpeciale de la classe range à échoué, comment puis je parer à cela.
Merci à vous
 

tototiti2008

XLDnaute Barbatruc
Re : commandbutton - bouton non

Désolé, je ne peux pas ouvrir les zip (je sais, je suis embêtant :))

Si ta question "voulez vous remplacer le contenu des cellule" se fait au travers d'un Msgbox du type:

Reponse = Msgbox (Title:="Attention",Prompt:="voulez vous remplacer le contenu des cellule", Buttons:=vbYesNo)

Alors il faut que tu ajoutes un test du type :

If Reponse = vbNo then Exit Sub

Désolé de ne pouvoir pas plus t'aider, j'espère que quelqu'un d'autre viendra te proposer quelque chose...
 

MikeBelgique

XLDnaute Occasionnel
Re : commandbutton - bouton non

Merci tototiti2008 de ta réponse rapide, non je n'utilise pas d'une msgebox, il apparaît d'office dès que je clique sur le commandbutton

Private Sub CommandButton1_Click()
Call copier
End Sub

Sub copier()

Sheets("PROJECTION").Select
Range("A1:AH17").Select
Selection.Copy
Sheets("TRAVAIL PROJECTION").Select
Range("A1:A2").Select
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False

Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False

Sheets("PROJECTION").Select
Range("D17:AH17").Select
Selection.Copy
Sheets("TRAVAIL PROJECTION").Select
Range("D17:AH17").Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False

Sheets("PROJECTION").Select
Range("A25").Select
Application.CutCopyMode = False

ActiveCell.FormulaR1C1 = ""
Range("A26").Select
Sheets("TRAVAIL PROJECTION").Select
Range("n19").Select

With Sheets("TRAVAIL PROJECTION")
For Each Cell In .Range("D4:AH4")
If Cell = "0" Then
Cell.EntireColumn.Hidden = True
Else
Cell.EntireColumn.Hidden = False
End If
Next Cell
End With
End Sub
 
Dernière édition:

Papaye

XLDnaute Occasionnel
Re : commandbutton - bouton non

Bonjour Messieurs,

Il me semble que l'on peut contrer ce problème en placant en début de macro un "Application.DisplayAlerts=False" et bien sur en mettant son jumeau ...=True en fin de macro.
 

Pierrot93

XLDnaute Barbatruc
Re : commandbutton - bouton non

Bonjour à tous

regarde le bout de code ci dessous, avec une gestion d'erreur :

Code:
Sub test()
Sheets("Feuil1").Range("A1:AH17").Copy
With Sheets("Feuil2")
On Error GoTo fin
.Range("A1:A2").PasteSpecial Paste:=xlPasteValuesAndNumberFormats
On Error GoTo 0
.Range("A1:A2").PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone
End With
'reste de ton code
fin:
End Sub

A noter que les "select" sont rarement utiles en vba, je les ai retirés pour exemple.

bonne soirée
@+
 

MikeBelgique

XLDnaute Occasionnel
Re : commandbutton - bouton non

Bonjour papaye
Effectivement cela fonctionne, la macro se déroule automatiquement dès click sur le commandbutton, toutefois le fait d'avoir le choix entre oui et non ne me dérangeait pas, quel serait la procédure pour le choix du bouton non.
merci à toi
 

MikeBelgique

XLDnaute Occasionnel
Re : commandbutton - bouton non

Merci Pierrot93, je viens de modifier toute la formule comme ceci et cela fonctionne très bien

Sub copier()

Sheets("PROJECTION").Range("A1:AH17").Copy
With Sheets("TRAVAIL PROJECTION")
On Error GoTo FIN
.Range("A1:A2").PasteSpecial Paste:=xlPasteValuesAndNumberFormats
On Error GoTo 0
.Range("A1:A2").PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone

End With

Sheets("PROJECTION").Range("D17:AH17").Copy
With Sheets("TRAVAIL PROJECTION")
.Range("D17:AH17").PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone
Sheets("PROJECTION").Select
Range("A25").Select
Application.CutCopyMode = False

ActiveCell.FormulaR1C1 = ""
Range("A26").Select
Sheets("TRAVAIL PROJECTION").Select
Range("n19").Select

With Sheets("TRAVAIL PROJECTION")
For Each Cell In .Range("D4:AH4")
If Cell = "0" Then
Cell.EntireColumn.Hidden = True
Else
Cell.EntireColumn.Hidden = False
End If
Next Cell
End With
FIN:
End With
End Sub

merci à vous tous
 

Discussions similaires

Statistiques des forums

Discussions
312 338
Messages
2 087 397
Membres
103 536
dernier inscrit
komivi