copier coller valeur

jeremV

XLDnaute Junior
Bonjour, je suis un peu perdu je voudrais à partir d'un checkbox faire plusieur action : copier coller une ligne et la mettre dans un autre document par onglet de mois, et ce fichier change chaque année lorsque je ferme le fichier mais je suis completement largué je sais pas ou commencer etant novice. cordialement. merci d'avance !!
 

Staple1600

XLDnaute Barbatruc
Re : copier coller valeur

Re

Cela fonctionne chez moi (voir ci-dessous)
testfinok1.jpg
On copie la dernière ligne non vide de la feuille Tableau de bord du classeur TDB exp.xlsm
dans la feuille Feuil1 du classeur TDB Historique 2014.xlsx
C'était bien le but recherché ?

PS
: J'ai dé-fusionné les lignes d'entêtes (ligne 5) sur la feuille Feuil1.
Il faudra faire de même pour tester.

Code:
Private Sub TEST_Click()
Dim nFichier As String, Dlig&, dl As Long
Dim wbSOURCE As Workbook, wbDESTINATION As Workbook
Dim A_COPIER As Range
' mettre le bon chemin
nFichier = "C:\Temp\archive\TDB Historique 2014.xlsx"
Set wbSOURCE = ThisWorkbook
Dlig = wbSOURCE.Sheets(1).Cells(Rows.Count, "A").End(xlUp).Row
Set A_COPIER = wbSOURCE.Sheets("Tableau de Bord").Cells(Dlig, "A").Resize(, 7)
Set wbDESTINATION = Workbooks.Open(nFichier)
With wbDESTINATION
    With .Sheets(1)
        .Unprotect PassWord:="blabla"
        A_COPIER.Copy
        dl = .Cells(Rows.Count, 1).End(xlUp).Row
        .Cells(dl + 1, 1).PasteSpecial xlValues
        .Protect PassWord:="blabla"
    End With
    .Close True
End With
End Sub
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : copier coller valeur

Re

mais par contre pourquoi il ne demarre pas à la ligne 7 ?
Parce que comme expliqué précédemmment
On copie la dernière ligne non vide de la feuille Tableau de bord du classeur TDB exp.xlsm
Donc c'est la ligne 8 dans ton fichier exemple.

Quand à la fusion, lors de mon test cela posait problème (ERREUR dans VBE)
Donc pour ne plus avoir de problème, j'ai dé-fusionné les cellules.
(Si cela te gène, tu peux toujours ajuster la hauteur de ligne pour avoir le même résultat esthétique)
 

jeremV

XLDnaute Junior
Re : copier coller valeur

Merci beaucoup ! je comprend mieux ^^

"On copie la dernière ligne non vide de la feuille Tableau de bord du classeur TDB exp.xlsm" --> Est-il possible de ne pas copier la derniere ligne mais de copier la ligne de la checkbox qui est coché si tu veux un exemple je peux t'en envoyé un. En fait, les personnes quand il ont lu la ligne , il coche dans une userform qui est propre pour chaque ligne.
 

Staple1600

XLDnaute Barbatruc
Re : copier coller valeur

Bonjour à tous

Est-il possible de ne pas copier la derniere ligne mais de copier la ligne de la checkbox qui est coché si tu veux un exemple je peux t'en envoyé un. En fait, les personnes quand il ont lu la ligne , il coche dans une userform qui est propre pour chaque ligne.
Tu veux dire il coche une CheckBox qui est présente sur la feuille à chaque bout de ligne?

Je n'ai pas vu d'userform dans ton fichier exemple...
 

jeremV

XLDnaute Junior
Re : copier coller valeur

Bonjour, :p non je l'avais retiré pour te mettre que l'esssentiel mais oui en fait j'ai dans une case lorsque tu double click, tu as une userform avec 1 checkbox qui valide et le but c'est quel copie cette ligne , l'a mets dans le fichier et suprime de l'autre coté la ligne. je t'ai fait un synthetique si tu veux je te l'envoi :)
 

Staple1600

XLDnaute Barbatruc
Re : copier coller valeur

Bonjour


Tu es sur de devoir passer par un userform?
Car tu pourrais utiliser un truc du genre (non encore optimisé pour le moment)
(code à mettre dans le code de la feuille Tableau de bord - pas dans un module standard)
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 7 Then
If Application.CountA(Cells(Target.Row, 1).Resize(, 7)) = 7 Then
MsgBox "Les cellules: " & Cells(Target.Row, 1).Resize(, 7).Address(0, 0) & " vont être archivées."
'remplacer la ligne ci-dessus par:
'call MacroCopieArchive
Else
MsgBox "La ligne " & Target.Row & " n'est pas complète.", vbCritical, "ERREUR"
End If
End If
End Sub

La macro MacroCopieArchive contenant le code que je t'ai soumis précédemment.

PS: Il reste à traiter le cas du retour de la souris sur une plage déjà archivée. :p
 

Staple1600

XLDnaute Barbatruc
Re : copier coller valeur

Re

Je ne devais pas être bien réveillé hier ;)
Je viens de voir que dans tes PJ, il y avait des patronymes ce qui je te l'accorde rime avec anonyme mais pas avec données non confidentielles.
Donc il serait préférable (comme l'indique la charte du forum) que tu remplaces les noms par des données fictives, le plus simple étant; NOM1 PRENOM1, NOM2 PRENOM2 etc...
Nous sommes dimanche, ça tombe bien, cela te laisse du temps libre pour anonymiser tes pièces jointes. ;)

PS: Tu dis être novice, mais le code présent dans ta nouvelle PJ n'est pas de l'acabit d'un jeune padawan en VBA ;)
 

jeremV

XLDnaute Junior
Re : copier coller valeur

re :) c'est rien c'est deja beaucoup ce que tu fais de m'aider ;), alors je vais pas te mentir je suis un vrai novice je chippote et quand sa fonctionne tant mieux, je retiens pas tout quand sa fonctionne je me fait des bloc note et copie coller, je triche un peu a vrai dire :/ oki :)
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : copier coller valeur

Re

Il suffit de cliquer sur Modifier le message puis Gérer les pièces jointes puis Retirer.

Ensuite dans Excel, tu remplaces les patronymes par des noms fictifs
(et également les Caption des CheckBoxs de ton userform)
Tu enregistres sous avec un nouveau nom puis tu rezippes tes fichiers et enfin tu les repostes sur le forum.
Le tout devrait devrait te prendre au plus 20 minutes.
Mais heureusement tu faire cela en écoutant parallèlement un peu de zik dans un autre onglet de ton navigateur.

PS: Question subsidiaire: N'aurais-tu pas poster ta question sur une autre forum dédié à Excel?
(en tout cas j'y ai vu d'autres questions postées par un jeremV)
Si oui, il est utile de le signaler (et de mettre un lien)
Pourquoi me diras-tu?
Parce que ceci (ça nous rajeunit pas;))
Et parce que cela permet surtout de pas perdre de temps à répondre à une question qui a déjà sa réponse sur autre forum.
(Cela permet aussi quand un lien est indiqué de s'inspirer (si besoin) des solutions déjà proposées ailleurs)
 
Dernière édition:

Discussions similaires

Réponses
6
Affichages
448

Statistiques des forums

Discussions
312 440
Messages
2 088 452
Membres
103 854
dernier inscrit
linzei