Copier coller valeurs

Y compris Power BI, Power Query et toute autre question en lien avec Excel
m
mrtgrdn
Jeune membre
Jeune membre
Messages : 20
Inscrit le : 14 juin 2016
Version d'Excel : 2010 FR

Message par mrtgrdn » 14 juin 2016, 16:10

Bonjour,
Je suis en stage, je travaille sur VBA et j'ai une question si quelqu'un sait y répondre ce serait super !

Je souhaite copier des données dans des cellules d'un fichier à un autre et ce pour chaque onglet.
J'ai des indicateurs numériques dans 6 cellules sur chaque onglet de ma feuille et je souhaiterais retrouver ces indicateurs sur le second tableur dans les onglets portant le même nom.
J'espère être clair...

Par exemple, dans la Classeur1 j'ai 3 onglets : Paris, Marseille et Lyon et sur chacun des 3 onglets j'ai des nombres dans les cellules A1, A2 et A3.
Dans mon second tableur : Classeur2, ayant les mêmes noms d'onglets (Paris, Marseille, Lyon), je souhaiterais avoir les mêmes nombres dans les cellules A1, A2 et A3 de chaque onglet.

Voilà !
Merci beaucoup par avance.

Martin
M
MFerrand
Fanatique d'Excel
Fanatique d'Excel
Messages : 17'203
Appréciations reçues : 445
Inscrit le : 20 juillet 2015
Version d'Excel : 2010 FR

Message par MFerrand » 14 juin 2016, 21:40

Bonsoir,

Tu parles pour commencer de 6 cellules et tu en énumères 3... ! On ne va pas s'y retrouver aisément ainsi ! :D
Et avec VBA on n'a nul besoin de copier pour affecter des valeurs (contrairement à Excel), donc si tu expliques bien ce que tu veux et si tu mets un classeur permettant de répondre, tu auras une réponse.

Cordialement.
m
mrtgrdn
Jeune membre
Jeune membre
Messages : 20
Inscrit le : 14 juin 2016
Version d'Excel : 2010 FR

Message par mrtgrdn » 15 juin 2016, 09:23

Bonjour,

Oui c'est vrai, mon exemple fictif n'avait pas les mêmes données, excusez-moi :D

Je vous joins le fichier "Entrée" avec mes 3 onglets et 3*6 cellules.
L'objectif étant de copier ces cellules dans les onglets ayant les même noms dans un classeur "Sortie".

Merci beaucoup pour votre réponse !

Cordialement
Sortie.xlsx
(9.29 Kio) Téléchargé 7 fois
Entrée.xlsx
(8.74 Kio) Téléchargé 9 fois
M
MFerrand
Fanatique d'Excel
Fanatique d'Excel
Messages : 17'203
Appréciations reçues : 445
Inscrit le : 20 juillet 2015
Version d'Excel : 2010 FR

Message par MFerrand » 15 juin 2016, 13:58

Re,
Sub Transfert()
    Dim tft(), i%, f%, wb As Workbook
    On Error GoTo nowb
    Set wb = Workbooks("Sortie.xlsx")
    On Error GoTo 0
    ReDim tft(6, 0)
    With ThisWorkbook
        For f = 2 To .Worksheets.Count
            tft(0, 0) = tft(0, 0) + 1
            ReDim Preserve tft(6, tft(0, 0))
            With .Worksheets(f)
                tft(0, tft(0, 0)) = .Name
                For i = 1 To 6
                    tft(i, tft(0, 0)) = .Cells(i, 2)
                Next i
            End With
        Next f
    End With
    On Error GoTo nofeuil
    For f = 1 To tft(0, 0)
        With wb.Worksheets(tft(0, f))
            For i = 1 To 6
                .Cells(i, 2) = tft(i, f)
            Next i
        End With
nofeuil:
    Next f
    On Error GoTo 0
    Exit Sub
nowb:
    'Set wb = Workbooks.Open("chemin\Sortie.xlsx")
    'Resume Next
End Sub
J'ai ajouté une feuille, pour attacher la procédure à un bouton (sur une feuille autre que les feuilles Ville). La procédure prélève donc les valeurs à transférer à partir de la 2e feuille. Si tu procèdes autrement, tu adaptes...
2 gestions d'erreurs incorporées :
1) si le classeur n'est pas ouvert : en l'état on sort de la procédure, mais tu peux introduire sous l'étiquette nowb l'ouverture du classeur en complétant le chemin du dossier où il se trouve...
2) si une feuille manque dans Sortie (on saute l'inscription et on continue...

Cordialement.
mrtgrdn_Entrée.xlsm
(22.58 Kio) Téléchargé 9 fois
m
mrtgrdn
Jeune membre
Jeune membre
Messages : 20
Inscrit le : 14 juin 2016
Version d'Excel : 2010 FR

Message par mrtgrdn » 15 juin 2016, 14:03

Merci beaucoup !
Ça va bien m'aider !!!
m
mrtgrdn
Jeune membre
Jeune membre
Messages : 20
Inscrit le : 14 juin 2016
Version d'Excel : 2010 FR

Message par mrtgrdn » 15 juin 2016, 16:06

Rebonjour :)

En fait, ce n'est pas exactement ce que je souhaitais faire, je pense m'être mal expliqué...

Je remets ici mon problème si vous avez une solution :)

J'ai un tableur "Entrée" avec des 3 onglets et 6 indicateurs numériques en haut à gauche sur chaque onglet.
Je souhaite créer une macro VBA afin de retrouver ces indicateurs sur un autre tableur appelé "Sortie", avec les mêmes indicateurs dans les onglets ayant le même nom.
Ici, j'ai 3 onglets villes en entrée (Paris, Marseille, Lyon) et 4 en Sortie (Marseille, Lyon, Lille, Paris). J'aimerais donc avoir les indicateurs de l'onglet Paris dans Paris etc... Et rien dans Lille du coup...

Si on modifie les chiffres en Entrée et qu'on relance la macro j'aimerais qu'ils soient modifiés dans le fichier de Sortie.
Je vous joint les 2 fichiers...

Merci pour votre aide !
Cordialement
Sortie.xlsx
(10.77 Kio) Téléchargé 8 fois
Entrée.xlsx
(10.04 Kio) Téléchargé 6 fois
M
MFerrand
Fanatique d'Excel
Fanatique d'Excel
Messages : 17'203
Appréciations reçues : 445
Inscrit le : 20 juillet 2015
Version d'Excel : 2010 FR

Message par MFerrand » 15 juin 2016, 16:37

Ici, j'ai 3 onglets villes en entrée (Paris, Marseille, Lyon) et 4 en Sortie (Marseille, Lyon, Lille, Paris). J'aimerais donc avoir les indicateurs de l'onglet Paris dans Paris etc... Et rien dans Lille du coup...
C'est bien le cas ! Non ?
Si on modifie les chiffres en Entrée et qu'on relance la macro j'aimerais qu'ils soient modifiés dans le fichier de Sortie.
Il n'y a pas de raison non plus que ce ne soit pas le cas !

Ou je ne sais plus ce que je fais ! :lol: Je vérifie !

Je confirme : tout est OK ! :D

C'est bien comme tu veux que ça se passe !
Mais ton fichier Entrée n'ayant pas la macro, tu es bien en peine pour essayer !
Il faut l'y mettre.

Cordialement.
m
mrtgrdn
Jeune membre
Jeune membre
Messages : 20
Inscrit le : 14 juin 2016
Version d'Excel : 2010 FR

Message par mrtgrdn » 15 juin 2016, 16:48

Quand je lance la macro, j'obtiens les chiffres de mon premier fichier (1,2,3..), le suite numérique mais pas mes nouvelles valeurs aléatoires.
Je ne comprends pas comment je peux avoir les valeurs effacées, j'ai pourtant modifié et enregistré le fichier "Entrée" et j'ai toujours les mêmes chiffres en "Sortie". :)
M
MFerrand
Fanatique d'Excel
Fanatique d'Excel
Messages : 17'203
Appréciations reçues : 445
Inscrit le : 20 juillet 2015
Version d'Excel : 2010 FR

Message par MFerrand » 15 juin 2016, 17:07

La macro utilise les chiffres du fichier Entrée dans lequel elle se trouve !
Commence par la mettre dans le fichier Entrée dans lequel tu modifies des valeurs et tu verras le résultat !
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message