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

Autres Copier coller une plage variable VBA

StanSigma

XLDnaute Junior
Bonjour,

Je débute dans le VBA et je bloque sur un point..
Je vous explique mon tableau :
Une feuille 'CopieColle' dans laquelle je colle une extraction de la badgeuse de l'entreprise.
Une feuille 'BDD' où je stock l'ensemble des extractions.
une feuille 'Menu' où j'ai mes boutons pour faire mes manipulations

Je veux faire un bouton 'Collecter les données de la badgeuse' (donc une macro) qui lorsque je clique dessus va sélectionner les cellules que je viens de coller dans 'CopieColle' pour les mettre à la suite de 'BDD'
A savoir que ce que je colle dans 'CopieColle' n'est pas fixe, c'est à dire que parfois le collage prendra 50 lignes parfois 200... par contre, toujours le même nombre de colonne : 35

j'ai voulu faire une sélection jusqu'à la dernière ligne et colonne non-vide mais en vain...
Je commence à désespérer de pouvoir faire ce que je veux..

Une âme charitable pour m'indiquer comment m'y prendre et surtout quel code...

Voici le classeur merci pour l'aide par avance

Stan
 

StanSigma

XLDnaute Junior
Bonsoir et bienvenue,



Il semblerait qu'il y ait un petit souci....

Donc sans fichier, en supposant que les données commencent en A1, le plus simple c'est :
VB:
[A1].CurrentRegion.Select

A+
Bonsoir Calvus,

Il a été supprimé pour document de confidentialité...
Peux-tu m'expliquer ce que fait CurrentRegion.Select s'il te plait?

Et comment faire pour l'ensemble du code depuis le click sur le bouton

Merci
 

StanSigma

XLDnaute Junior
Re,


Ça sélectionne toutes les cellules autour de A1.



Il faut créer un bouton et y affecter la macro.

A+
Re,

D'accord merci, j'ai essayer de l'integrer à ma macro mais en vain :

Sub Copie_Colle()
'
' Copie_Colle Macro
'

'
Sheets("CopieColle").Select
[A1] CurrentRegion.Select
Application.CutCopyMode = False
Selection.Copy
Sheets("BDD").Select
Rows("1:1").Select
Range("B1").Activate
Selection.Insert Shift:=xlDown
Sheets("CopieColle").Select
Application.CutCopyMode = False
Selection.ClearContents
Sheets("Menu").Select
End Sub


Peux-tu m'aider?
 

Staple1600

XLDnaute Barbatruc
Bonsoir le fil, Calvus

Une autre syntaxe possible
VB:
Sub CopieColle()
Set rngA = Feuil1.[A1].CurrentRegion
rngA.Copy Feuil2.Cells(Rows.Count, 1).End(3)(2)
Application.CutCopyMode = False
End Sub
 

Calvus

XLDnaute Barbatruc
Re,

D'accord merci, j'ai essayer de l'integrer à ma macro mais en vain :

J'ai écrit :
[A1].CurrentRegion.Select

et non pas
[A1] CurrentRegion.Select...

par contre, toujours le même nombre de colonne : 35
Si ce n'est pas le cas on va au devant de problèmes....

VB:
Sub Copie()

With Sheets("CopieColle")
    .[A1].CurrentRegion.Copy
End With

With Sheets("BDD")
    .Rows("1:1").Insert Shift:=xlDown
End With

Sheets("CopieColle").[A1].CurrentRegion.ClearContents

End Sub

A+
 

Calvus

XLDnaute Barbatruc
Hello Staple,,

Non pas de problème de lunettes ! Ou si justement ! Mais on ne lutte plus au bout d'un moment.
Je n'ai vu ton message qu'une fois que j'ai publié le mien.

Je t'aurai un jour !
 

Discussions similaires

Réponses
10
Affichages
523
Réponses
56
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…