A voir également:
- Enregistrer une plage de donnée d'une feuille excel à une autre
- Déplacer une colonne excel - Guide
- Audacity enregistrer son pc - Guide
- Créer une liste déroulante excel - Guide
- Feuille de pointage excel - Télécharger - Tableur
- Enregistrer une conversation - Guide
1 réponse
Bonjour
Pour que votre code soit plus rapide, ajoutez en première ligne
La boucle"
Vous pouvez écrire le code sous cette forme. A coller dans un module classique pas celui de la feuille (dans la fenêtre VBA, faire insertion- module)
remplacez "Feuil1" par le nom de votre feuille contenant les données à récupérer.
Dans le module de la feuille, remplacez votre code par
Cdlt
Pour que votre code soit plus rapide, ajoutez en première ligne
Application.ScreenUpdating = False
La boucle"
For i = dl To dl + 10" hormis les 3 premières colonnes, recopie 10 fois les valeurs des colonnes I G et H au même endroit (donc inutile).
Next idevrait se trouver après la 3ème ligne
For i = dl To dl + 10 Sheets("mouvements").Cells(i, 1) = Range("k6").Value Sheets("mouvements").Cells(i, 3) = Range("h7").Value Sheets("mouvements").Cells(i, 4) = Range("h6").Value Next i
Vous pouvez écrire le code sous cette forme. A coller dans un module classique pas celui de la feuille (dans la fenêtre VBA, faire insertion- module)
Sub Recopie() Dim dl As Long, i As Long Application.ScreenUpdating = False Set f1 = Sheets("Feuil1") Set f2 = Sheets("mouvements") If MsgBox("Voulez-vous Sauvegarder la facture?", vbYesNo, "confirmation") = vbYes Then f2.Select dl = [E456541].End(xlUp).Row + 1 Range(Cells(dl, 1), Cells(dl + 10, 1)) = f1.[k6] Range(Cells(dl, 3), Cells(dl + 10, 3)) = f1.[H7] Range(Cells(dl, 4), Cells(dl + 10, 4)) = f1.[H6] Range(Cells(dl, 5), Cells(dl + 10, 5)) = f1.[h13:h23].Value Range(Cells(dl, 7), Cells(dl + 10, 7)) = f1.[g13:g23].Value Range(Cells(dl, 8), Cells(dl + 10, 8)) = f1.[j13:j23].Value MsgBox "sauvegarde Réussie", vbInformation, "Confirmation Sauvegarde" End If f1.Select End Sub
remplacez "Feuil1" par le nom de votre feuille contenant les données à récupérer.
Dans le module de la feuille, remplacez votre code par
Private Sub CommandButton1_Click() Recopie End Sub
Cdlt