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

popof

XLDnaute Occasionnel
Bonjour le forum et lecteurs

Question du jour :

1/ Avec un petit bouton et un clic, je supprime la ligne sélectionnée et la copie de la feuil1 vers le feuil2

2/ les lignes copiées dans la feuil2 se suivent à +1 ligne

Voilà la théorie dans la pratique je n'y arrive pô :angry:

Merci d'avance

Nota: je ne peux pas joindre le fichier mais si besoin de plus explications ... pas de problèmes

😉
 
Bonjour Popof, bonjour le forum,

Si j'ai bien compris ton problème, voici une solution avec le code ci-dessous :


Private Sub CommandButton1_Click()
Dim f As Worksheet 'déclare la variable f
Dim dest As Range 'déclare la variable dest
Set f = Sheets('Feuil2') '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
End Sub
 
Re

Merci robert
Fonctionnement impeccable, g mis une tite modif en plus pour supprimer la selection copier

Voili voilou

Private Sub CommandButton1_Click()
Dim f As Worksheet 'déclare la variable f
Dim dest As Range 'déclare la variable dest
Set f = Sheets('Feuil2') '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 <== Evite les trous dans le tableau 😛
End Sub
 
Re le fil et re moi

voici une version du code qui demande en plus la validation de la manip de suppression


Private Sub CommandButton1_Click()
If MsgBox('Voulez vous vraiment résilier ce client ?', vbOKCancel, 'Attention résiliation') = vbOK Then

Dim f As Worksheet 'déclare la variable f
Dim dest As Range 'déclare la variable dest
Set f = Sheets('résiliation') '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 Sub


si ça peut servir :whistle:
 
Re à tous

Je voudrais faire une régle de validation afin qu'avant de supprimer il faut impérativement que l'on choisisse une ligne et non une cellule.

Private Sub CommandButton1_Click()
'If 'pas de selection de ligne entière' then 😱
MsgBox ('selectionner une ligne complète ... Merci')
Else


If MsgBox('Voulez vous vraiment résilier ce client ?', vbOKCancel, 'Attention résiliation') = vbOK Then
Dim f As Worksheet 'déclare la variable f
Dim dest As Range 'déclare la variable dest
Set f = Sheets('résiliation') '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

mirci
 
Re le forum , re le fil , re à toi lecteur 😉

Voilà g un petit problème avec cette formule, je m'explique

je souhaite utiliser cette formule sur un bouton présent dans 3 feuilles et je n'arrive pas à généraliser dans le workbook version :

Option Explicit

Public mavar As Byte
Public Mafeuille As String

Sub MisePage()

Select Case mavar

mavar=5

Worksheet.active
If Selection.Cells.Count <> 256 Then 'Oblige à la sélection d'une ligne entière
MsgBox ('Sélectionner une ligne complète ... Merci')
Else
If MsgBox('Voulez vous vraiment résilier ce client ?', vbOKCancel, 'Attention résiliation') = vbOK Then
Dim f As Worksheet 'déclare la variable f
Dim dest As Range 'déclare la variable dest
Set f = Sheets('résiliation') '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


voilà mon piti problème
 
Re le fil

Bon c ok pour la question précédente g réclè la chose en créant un module et g mis mes action des tit bouton dedans mais voilà problèmes , l'instruction est du type :

Option Explicit

Public acc As Byte

Sub retour()
Select Case acc

Case 1
With Worksheets
If MsgBox('Confirmer le retour à la page d'accueil', vbOKOnly) = vbOK Then
If MsgBox('Le retour à l'acceuil entrainera une nouvelle saisie de mot de passe', vbOKCancel, 'Information') = vbOK Then
UserForm1.Show
Else
End If
End If
End With

Case 2
With Worksheets
UserForm2.Show
End With

+ autres conditions encores

le problème et que lorque je clic sur un bouton dans ma feuille excel, il exécute l'instruction d'avant*
*clique sur bouton 1 --> Action 1
clicue sur bouton 2 ---> Action 1 --->
clique sur bouton 2 ---> Action 2 😱 :woohoo: :sick:

voili voilou je ne sais pas si je me suis bien expliqué

merci d'avance
 
re le fil
re le forum

Je suis désolé de faire remonter mon message mais il est vrai que je suis toujours à la recherche d'une solution por éviter mon problème de 'redondance' pour mes tits boutons 😱

Merci d'avance 😉
 
re de ce coté là

Oui g vu ton dernier mess jmps

Je joins un tit exemple, je suppose que le problème se situe au niveau de la déclaration ' acc as byte' mais bon

Pour explication chaque bouton fait une action propre
g fait court dans l'exemple 😛
 
😱 :sick: bah alors il fait moin de 50ko et il est zippé


deviens fou moi :woohoo:


oups les caractères spéciaux :whistle: [file name=boutonfou.zip size=22089]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/boutonfou.zip[/file]
 

Pièces jointes

Bonjour tout le monde

Popof, je ne sais pas si josé peut télécharger les PJ, alors je me permet de te répondre. (enfin je crois pouvoir te répondre, 🙂 )

Private Sub CommandButton1_Click()
acc = 1
retour
End Sub

inverse les ordres dans tes macros, en effet il faut d'abord initialiser acc avant d'aller dans la macro retour, sinon acc garde l'ancienne valeur.

Salut
 
- 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

Discussions similaires

Réponses
3
Affichages
653
Réponses
2
Affichages
533
Réponses
2
Affichages
1 K
D
Réponses
10
Affichages
1 K
débutantplus
D
L
Réponses
1
Affichages
1 K
L
Retour