Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Copier,coller, supprimer un bouton

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

D

djnimo

Guest
Bonsoir, J'ai essaye d'adapter une macro trouve sur ce forum a mon fichier, mais J'ai une simple erreur de syntaxe dont je ne vois pas la cause, quelqu'un voit mon erreur?
Le deboguer me dit Endif sans bloc IF en pointant sur le dernier ENDIF et si je le supprime, Jobtiens une erreur d'execution 1004, la methode rande de l'objet '_worksheet' a echoue... :-( jene comprends pas d'ou ca vient...... Merci

Private Sub CommandButton1_Click()

If Selection.Cells.Count <> 256 Then MsgBox ("Sélectionner une ligne complète ... Merci") Else
If MsgBox("Deplacer?", vbOKCancel, "Attention Deplacement") = vbOK Then
Dim f As Worksheet 'déclare la variable f
Dim dest As Range 'déclare la variable dest
Set f = Sheets("aaa") 'définit la variable f
'définit la variable dest
If f.Range([A1]) = "" Then 'condition : si A1 est vide
Set dest = f.Range([A1]) 'dest = A1
Else 'sinon
Set dest = f.Range([A65536]).End(xlUp).Offset(1, 0) 'dest = première cellule vide de la colonne A
End If 'fin condition
ActiveCell.EntireRow.Cut Destination:=dest 'coupe et copie la ligne de la cellule active
Selection.Delete Shift:=xlUp 'supprime la ligne que l'on vient de copier
Else
End If
End If
End Sub
 

Pièces jointes

Re : Copier,coller, supprimer un bouton

Re,

Je n'ai pas d'erreur après les modifs.
Si tu souhaites conserver les [], il faut écrire comme ceci:

Code:
Private Sub CommandButton1_Click()
If Selection.Cells.Count <> 256 Then MsgBox ("Sélectionner une ligne complète ... Merci") Else
If MsgBox("Deplacer?", vbOKCancel, "Attention Deplacement") = vbOK Then
    Dim f As Worksheet 'déclare la variable f
    Dim dest As Range 'déclare la variable dest
    Set f = Sheets("aaa") 'définit la variable f
    'définit la variable dest
        If f.[A1] = "" Then 'condition : si A1 est vide
        Set dest = f.[A1] 'dest = A1
        Else 'sinon
        Set dest = f.[A65536].End(xlUp).Offset(1, 0) 'dest = première cellule vide de la colonne A
        End If 'fin condition
ActiveCell.EntireRow.Cut Destination:=dest 'coupe et copie la ligne de la cellule active
Selection.Delete Shift:=xlUp 'supprime la ligne que l'on vient de copier
Else
End If
End Sub

A+
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
3
Affichages
922
Réponses
7
Affichages
366
Réponses
3
Affichages
660
Réponses
6
Affichages
422
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…