Copier coller valeurs

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

Bonsoir,

Tu parles pour commencer de 6 cellules et tu en énumères 3... ! On ne va pas s'y retrouver aisément ainsi !

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.

Bonjour,

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

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

11entree.xlsx (8.74 Ko)
9sortie.xlsx (9.29 Ko)

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.

11mrtgrdn-entree.xlsm (22.58 Ko)

Merci beaucoup !

Ça va bien m'aider !!!

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

8entree.xlsx (10.04 Ko)
10sortie.xlsx (10.77 Ko)

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 ! Je vérifie !


Je confirme : tout est OK !

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.

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".

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 !

Rechercher des sujets similaires à "copier coller valeurs"