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

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

Excuse moi j'ai lu trop vite et ce n'était pas bon
Sinon ce que tu as fait me semble pas mal
Le seul inconvénient est que tu fait 3666 boucles et tu t'arrêtes mais cela correspond peut-être à ton besoin
 
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
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…