XL 2013 déplacement range avec condition à l'arrivée -VBA

mikepers

XLDnaute Occasionnel
Bonjour à tous
via un USF (voir fichier joint)

Je cherche à tranférer (couper-coller) en vba une plage de donnée dans une une autre plage de donnée '(située sur la même feuille). La plage de donnée de destination contient déjà des données (plusieurs lignes déjà renseignées) Je souhaiterai que lors de la destination les données soient collées à la suite de la liste déjà existante.
Le code présent sur le déclenchement button fonctionnait jusqu'à présent sur un de mes autres fichiers mais sur le cas précis ca ne marche pas.. Probablement une condition que je ne maitrise pas.

le fichier original étant complexe, je joint un fichier exemple résumant mon problème.
Merci !
Michel
 

Pièces jointes

  • test.xlsm
    25.2 KB · Affichages: 4

Robert

XLDnaute Barbatruc
Repose en paix
Bonjour Mikepers, bonjour le forum,

Pourquoi une UserForm ? On pourrait simplifier avec :

VB:
Private Sub CommandButton1_Click()
Dim O As Worksheet 'déclare la variable O (Onglet)
Dim PL As Range 'déclare la variable PL (PLage)
Dim DEST As Range 'déclare la variable CEL (cellule de DESTination)

Set O = Worksheets("Base") 'définit l'onglet O
Set PL = O.Range("A3:D3") 'définit la plage PL
Set DEST = O.Cells(Application.Rows.Count, "E").End(xlUp).Offset(1, 0) 'définit la cellule de destination DEST (première cellule vide de la colonne E de l'onglet O)
PL.Copy DEST 'copie la plage PL dans DEST
PL.ClearContents 'efface la plage PL
End Sub
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Mikepers,
C'est "plage 2" et non "plage2", et le rangement en plage 2 est sur E et non sur A.
Jai remplacé :
Code:
If ComboBox1.Value = "plage2" Then
Dim x As Integer
x = Range("A32767").End(xlUp).Row + 1
par
Code:
If ComboBox1.Value = "plage 2" Then
Dim x As Integer
x = Range("E32767").End(xlUp).Row + 1
Ca fait des choses. :) Au moins vous pouvez avancer.
 

mikepers

XLDnaute Occasionnel
merci pour vos réponses !
- sylvanu merci effectivement le"plage2" empêchait l'execution.. Mais mon code ne fonctionne toujours pas, la ligne n'arrive pas à destination..
- Robert merci pour le code (je vais regarder de plus près avec mon petit niveau). Hélas même résultat, les données n'arrive pas à destination

je continue ma recherche
Bonne journée !
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
les données n'arrive pas à destination
Et c'est quoi la destination ???
En PJ la macro modifiée.
Petit Nicolas est transféré de plage 1 vers plage 2, C'est pas ça ?
1635338458482.png

1635338472436.png
 

Pièces jointes

  • test (1).xlsm
    21.5 KB · Affichages: 3

mikepers

XLDnaute Occasionnel
bravo sylvanu, effectivement ca fonctionne !
j'étais en train de tester la version de robert qui semble fonctionner aussi. j'ai fait quelques erreurs de débutant ( que je suis) avec les "screenupdating" et quelques mauvaises nominations..

Bravo et merci à vous deux !!
bonne journée
Michel
 

Discussions similaires

Statistiques des forums

Discussions
312 047
Messages
2 084 863
Membres
102 688
dernier inscrit
Biquet78