Microsoft 365 VBA Copier / Coller Valeur sur une autre feuille, dernière ligne vide

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

Sylvain29

XLDnaute Nouveau
Bonjour,

Suite à de nombreuses recherches sur différents forums, je ne parviens pas à réaliser ma macro.
Je débute dans le codage VBA.
Je souhaite copier des données sur une feuille "Devis" non disposées sur une même ligne mais dans différentes cellules sur la feuille.
Puis coller leurs valeurs sur une autre feuille "suivi" sur une même ligne dans un tableau.
Je souhaite que ce collage se mette à la suite des lignes précédemment complété par cette procédure.
Je parviens à copier/coller ces valeurs sur la première ligne du tableau, mais mes différents essais pour compléter la dernière ligne disponible reste infructueux.

Voici ma macro :

Sub ajout_suivi_geste_co()

'Copie numéro de compte
Range("B13").Select
Selection.Copy
Sheets("Suivi Budget geste CO").Select
Range("C9").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

'Copie date mois
Sheets("Devis Clients").Select
Range("B14").Select
Selection.Copy
Sheets("Suivi Budget geste CO").Select
Range("B9").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

'copie nom client
Sheets("Devis Clients").Select
Range("C12").Select
Selection.Copy
Sheets("Suivi Budget geste CO").Select
Range("D9").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

'copie quanti et prix
Sheets("Devis Clients").Select
Range("G25:H25").Select
Selection.Copy
Sheets("Suivi Budget geste CO").Select
Range("F9").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

'copie référence
Sheets("Devis Clients").Select
Range("A25").Select
Selection.Copy
Sheets("Suivi Budget geste CO").Select
Range("E9").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False



End Sub


Bien à vous.
Sylvain
 
Solution
Bonjour Sylvain29, _Thierry,

Quand on ne copie que les valeurs le mieux est d'utiliser des tableaux VBA c'est bien plus rapide.

Voyez le fichier joint et cette macro :
VB:
Sub ajout_suivi_geste_co()
Dim tablo, resu(), i&, n&
With Sheets("Devis Clients")
    tablo = .Range("A1", .UsedRange).Resize(, 8) 'matrice, plus rapide
End With
ReDim resu(1 To UBound(tablo), 1 To 6)
For i = 25 To UBound(tablo)
    If tablo(i, 1) <> "" Then
        n = n + 1
        resu(n, 2) = tablo(13, 2) 'numéro de compte
        resu(n, 1) = tablo(14, 2) 'date mois
        resu(n, 3) = tablo(12, 3) 'nom client
        resu(n, 5) = tablo(i, 7) 'Qté
        resu(n, 6) = tablo(i, 8) 'montant
        resu(n, 4) = tablo(i, 1) 'référence
    End If
Next
If n =...
Job75,

encore moi...
J'ai intégré la macro à mon document (confidentiel).
Mais j'ai omis de te dire qu'en dessous de la ligne 60 j'ai des cellules que je ne souhaite pas copier.
Comment puis-je réduire la plage de données à copier? La limiter à la ligne 60.

Je te remercie encore une fois.
 
En fait s'il y a des milliers de lignes sous la ligne 60 ça prendra du temps.

Il vaut mieux ajouter une ligne comme ceci :
VB:
For i = 25 To UBound(tablo)
    If i > 60 Then Exit For 'arrête la boucle
    If tablo(i, 1) <> "" Then
 
- 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
10
Affichages
455
Réponses
18
Affichages
134
Réponses
2
Affichages
214
Réponses
17
Affichages
878
  • Question Question
Microsoft 365 Erreur de format
Réponses
5
Affichages
436
Retour