Enregistrer une plage de donnée d'une feuille excel à une autre
Fermé
josh
-
29 janv. 2016 à 19:46
Frenchie83 Messages postés 2239 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 28 janvier 2023 - 30 janv. 2016 à 07:00
Frenchie83 Messages postés 2239 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 28 janvier 2023 - 30 janv. 2016 à 07:00
A voir également:
- Enregistrer une plage de donnée d'une feuille excel à une autre
- Frédéric cherche à faire le buzz sur les réseaux sociaux. il a ajouté une image de manchots sur une image de plage. retrouvez l'image originale de la plage. que cachent les manchots ? ✓ - Forum Windows
- Liste déroulante excel - Guide
- Enregistrer une video youtube - Guide
- Formule excel - Guide
- Déplacer une colonne excel - Guide
1 réponse
Frenchie83
Messages postés
2239
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
28 janvier 2023
335
30 janv. 2016 à 07:00
30 janv. 2016 à 07:00
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