incrémentation en vba

  • Initiateur de la discussion Initiateur de la discussion VBA_première_fois
  • 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 !

V

VBA_première_fois

Guest
bonsoir
le code ci dessous permet de : si je sélectionne une ligne dans Sheet1 et je clique sur mon bouton , il me supprime la ligne sélectionnée et la colle dans sheet3
HTML:
Private Sub CommandButton1_Click()
  Selection.Cut
    Sheets("Sheet3").Select
    Sheets("Sheet3").Rows(n).Select
    
    ActiveSheet.Paste
    Sheets("Sheet1").Select
     Application.CutCopyMode = False
        
End Sub

j'ai besoin qu'il passe à la ligne suivante à chaque fois qu''il me copie la ligne dans sheet3 , pour éviter d'écraser mes données
plus facilement
d'abord il copie sur la ligne 2

puis il copie sur la ligne 3 .....
donc qui peut me dire comment faire une incrémentation de cette ligne
HTML:
Sheets("Sheet3").Rows(n).Select
NB: je sais que mon code est nul 😎
 
Re : incrémentation en vba

Private Sub CommandButton1_Click()
Selection.Cut
Sheets("Sheet3").Select
Sheets("Sheet3").Rows(n).Select

ActiveSheet.Paste
Sheets("Sheet1").Activecell.offset(1,0).Select
Application.CutCopyMode = False

End Sub

Regarde avec cela si ça te convient
 
Re : incrémentation en vba

salut philppe27

ton code ne marche pas
j'ai essayer celui la , tu peux me dire si il y a erreur
HTML:
Private Sub CommandButton1_Click()

  Selection.Cut
    Sheets("Sheet3").Select
    For n = 1 To 3666
    Sheets("Sheet3").Rows(n).Select
    
    ActiveSheet.Paste
    Sheets("Sheet1").Select
     Application.CutCopyMode = False

  n = 1 + n
  Next
  
 
   
    
End Sub
 
Re : incrémentation en vba

Bonsoir à vous et à ceux qui passeront par ici

Dans le code de lafeuille:

Code:
Public L As Integer

Private Sub CommandButton1_Click()
L = L + 1
ActiveSheet.Range(ActiveSheet.Cells(Selection.Row, 1), ActiveSheet.Cells(Selection.Row, 4)).Copy Worksheets("Feuil2").Cells(3 + L, 1)
ActiveSheet.Range(ActiveSheet.Cells(Selection.Row, 1), ActiveSheet.Cells(Selection.Row, 4)).EntireRow.Delete
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
CommandButton1.Caption = "DEPLACER LIGNE " & Selection.Row
End Sub

Ci-joint un exemple:

Amicalement

Yann
 

Pièces jointes

Re : incrémentation en vba

bonjour YANN-56 c'est parfait

par contre il me copie juste les 4 premiere colonne , j'ai essayé de le modifier mais j'ai pas pu , je veux qu'il me copie jusqu'à la derniere row non nulle, ( car le classeur sur lequel je trvaille contient bcp de données)

sinon pour ceux qui souhaitent m'aider voici le code YANN-56
HTML:
Public L As Integer

Private Sub CommandButton1_Click()
L = L + 1
ActiveSheet.Range(ActiveSheet.Cells(Selection.Row, 1), ActiveSheet.Cells(Selection.Row, 4)).Copy Worksheets("Feuil2").Cells(3 + L, 1)
ActiveSheet.Range(ActiveSheet.Cells(Selection.Row, 1), ActiveSheet.Cells(Selection.Row, 4)).EntireRow.Delete
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
CommandButton1.Caption = "DEPLACER LIGNE " & Selection.Row
End Sub

a+
 
Re : incrémentation en vba

Bonjour à ceux qui passeront par ici.

Dis donc jeune premier, 😕
"C'est pour offrir? Je vous fais un paquet cadeau?" 🙂🙂🙂

Si tu veux apprendre, il serait bien que tu cherches un peu par toi-même...
D'autant que c'est un peu l'ABC" en matière de VBA....... Après on verra!

"Donne un poisson à un homme; il se nourrira ce jour.
Apprends lui à pêcher; il se nourrira toute sa vie"

Au passage, remplace:

Code:
ActiveSheet.Range(ActiveSheet.Cells(Selection.Row, 1), ActiveSheet.Cells(Selection.Row, 4)).EntireRow.Delete

Par:

Code:
ActiveSheet.Rows(Selection.Row).Delete
C'est plus propre.

Amicalement

Yann
 
Re : incrémentation en vba

bonjour tout le monde
YANN-56 ton code
HTML:
Private Sub Button_supprimer_Click()
L = L + 1
ActiveSheet.Range(ActiveSheet.Cells(Selection.Row, 1), ActiveSheet.Cells(Selection.Row, 60)).Copy Worksheets("donnees_supprimees").Cells(3 + L, 1)
ActiveSheet.Rows(Selection.Row).Delete
End Sub

je l'utilise je l'ai integré dans mon appli tout se passe bien
sauf que si je ferme mon classeur et je le ré ouvre , il m'ecrase les données precedentes ; c à dire dire qu'il commence toujours à partir de la ligne 4 .
mais moi j'ai besoin de garder ces données pour toujours
 
- 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
10
Affichages
791
Réponses
3
Affichages
332
Réponses
1
Affichages
323
Retour