Copier / Coller dans des cellules fusionnées

Bonjours a tous

Je suis de confronter un a un blem de Copier/Coller.

En effet je voudrais copier les valeurs de 2 cellules qui ne sont pas voisines (D16,G16) d'une feuille vers une une autre feuille ou les cellules destinatrices sont fusionner.

Le blem a chaque fois il me génère une erreur..

J'ai assayer

Sheets("Feuil1").[D16,G16].Copy

Sheets("Feuil2").select

Range("Zone a a coller").Select

(1)ActiveSheet.Paste

(2)Selection.PasteSpecial Paste:=xlPasteFormats

(3)Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _

:=False, Transpose:=False

(4)Selection.PasteSpecial Paste:=xlPasteFormats

Toutes ces (4) forme de coller mon géner une erreur ou ne colle pas ma sélection.

Je vous prie de m'aider

Merciii

Bonjour

Le mot "Zone a a coller" correspond à quoi comme cellule, puis pourquoi deux fois le "a" ?

Crdlt

Bon "Zone a coller" signifie la zone que j'ai définie pour coller mes infos (c'est juste un nom).

Le "a" c'est juste une erreur de frappe .

J'ai oublier de préciser que l'une de mes des cellules que je copies est le résultat d'une concaténation de plusieurs cellules.

Je sais pas si c'est cela le blem

re

Ok mais la zone à coller est dans une seule cellule ? En gros on copie D16 et G16 vers une seule cellule de la feuille 2 ?

Crdlt

Pas exactement

On copie la valeur contenue dans D16 (valeur resultatante d'une concaténation de valeur plusieurs cellules) et G16 (cellule normale) d'une feuille1 et on les colle dans la feuill2 dans une plage de cellule que j'ai nommé "Zone1" mais avant de la nommé "Zone1" certaines cellules ont été fusionné.

Je sais si tu me comprend.

En gros on copie D16 et G16 d'une feuille1 vers une autre feuille2 dans 2 plage (cellules) différentes (E16:F16 fusionné et G16:H16 fusionné) le tout renommé en Zone1.

Donc Zone1 = E16:F16 fusionné+ G16:H16 fusionné

re

C'est jamais bon de faire du VBA avec des cellules fusionnées. A un moment ou un autre cela met le "souc"

Donc je le dit souvent, à éviter à tout prix

Sinon essaie ceci :

Sub test()
Dim a
a = Sheets("Feuil1").Range("D16") & Sheets("Feuil1").Range("G16")
Sheets("Feuil2").Range("E16:F16") = a
Sheets("Feuil2").Range("G16:H16") = a
End Sub

Cordialement

51copie.xlsm (112.83 Ko)

Désole mais ça ne marche pas.

Je t’envoie un copie de mon travail, tu comprendra mieux et j’espère que tu pourra m'aider.

Merci

re

S'agit-il de la macro Test. Si oui, je vois que tu copies dans la même feuille et pas dans une 2ieme feuille. Peux-tu préciser

Cordialement

En fait je ne veux pas concaténer les cellules Det G pour les copier dans la même cellule de l'autre feuil.

Je voudrais copier D16 dans E16:F16 et G16 dans G16:H16

Cordialement

Re

Si je comprends bien tu veux copier D16 de la feuille Bordereau vers E16 et F16 dans la feuille Liste de plan ?

Dans ton fichier en D16, il n'y a rien. Merci de donner un exemple d'info car je me demande si ce n'est pas déconcatener que tu veux faire

Crdlt

Bonjour

En fait j'ai enlever les données qui sont dans les tableaux puisque je travail sur un fichier qui n'est pas le mien.

Je voudrais copier D16 de la feuille Liste de plans dans E16:F16 de la feuille Bordereau et idem pour G16 dans G16:H16.

Je copie D16 et G16 de Liste des plans et je colle dans respectivement E16:F16 et G16:H16.

Merci

Re

Ok pour tes explications. Essaie ce code :

Sub test()
With Sheets("Liste des plans")
    .Range("D16").Copy Sheets("Bordereau").Range("E16:F16")
    .Range("G16").Copy Sheets("Bordereau").Range("G16:H16")
End With
End Sub

J'ai vu que tu as nommé des "Zones" aussi. Tu peux facilement te passer de cela avec VBA sinon ton fichier se complique. Je pense notamment à la macro Test qui peut être simplifiée grandement

Crdlt

Merci pour ton aide.

Modifier ma macro Test?

Comment tu pense que ça pourrait être plus simple??

Merci de me donner ton avis.

re

il faut que je comprenne ce qui est à faire car là on est sur la ligne 16 uniquement et à la lecture de la macro test j'imagine que l'on doit faire autre chose

Re

L'objectif est de récupérer les infos des lignes des cellules D et G de la feuille liste des plans et les copier dans les cellules F et H.

C'est a dire on veux créer une application qui nous permettra de choisi un, deux ou plusieurs plan dans la feuille liste des plan et copier leurs info contenu dans D et G pour les mettre dans les cellules F et H. Bien en fonction du choix fait par l'utilisateur.

La fonction test permet de tester a chaque fois les "zones" vides pour coller ce que l'on a copier depuis la feuille liste des plans.

Bon bien sur tu verra les autres fonction que j'ai dévélloper pour arriver a construire l'application.

C'est tout la l'objectif de ce que je t'es demander depuis le début

Merci

re

Merci de tes infos. A la lecture on peut donc imaginer que tu te positionnes sur une cellule d'une ligne au hasard dans la feuille "liste plan", puis par un click sur un bouton ( à ajouter sur ta feuille), on exécute un code qui va copier les cellules D et G de la ligne vers la feuille Bordereau (en E et en G)

La fonction test permet de tester a chaque fois les "zones" vides pour coller ce que l'on a copier depuis la feuille liste des plans.

Je suppose que les Zones vides correspondent à des lignes vides d'info dans la feuille Bordereau ? Auquel cas on peut chercher une ligne vide dans a feuille Bordereau pour y copier les infos venant de la feuille Liste Plans

Déso de ces questions mais comme il n'y a pas de données en feuille Bordereau comme exemple, je dois comprendre

Crdlt

Re

Oui je te comprend, pour tes question c'est normal.

Comme tu l'a dit dans une premier temps l'application doit nous permettre de copier des données de Liste des plans ==> Bordereau.

Je t'envoie un Brouillon que j'ai déjà réalisé a échelle réduite. Une application test si on peut dire.

Mais quand j'ai essayer de réaliser le même code sur une feuille avec énormément d'info cad sur une application a grande échelle je rencontre tous ces blems.

On a juste 3 plan

On clique sur "Ajouter" pour choisir les plans que l'on désire.

On clique sur "Creer" pour créer le borderau.

On remplir Bien sur tous les champs date code d'envoi et destinataire avant de cliquer sur "Creer"

Normalement il sortira en fichier PDF donc faudra adapter le dossier de sorti dans le code dans la fonction "Creer PDF".

Merci pour ton aide

Le code de l'ap est 0000

28brouillon-revb.xlsm (50.00 Ko)

re

Merci du fichier

Dans L'userfom il y a une macro Ajoutercode. On utilise un nom défini "Code". Est-il normal que ce nom utilise 3 cellules à chaque fois dans la colonne H ?

Ne devrait-on pas uniquement ajouter sur la dernière cellule vide dans cette colonne ?

Crdlt

Re

Oui c'est exactement ça.... Tu as raison.... Certainement une erreur de ma part

L'ajout du code se fait a chaque enregistrement dans une cellule vide

Re,

Le fichier en retour avec quelques changements dans l’USERFORM au niveau des macros ci-dessous :

Private Sub CreerBordereau_Click() → Modification du code

Private Sub Reinitialiser_Click() -> Modification du code

Sub AjouterCode()

La macro Plus est supprimée et est intégrée dans la Private Sub CreerBordereau_Click()

Dans cette dernière, on complète aussi la feuille 2 dans les colonnes F , G et H.

J’ai aussi supprimé tous les END que tu utilisais pour fermer l’Userform. C’est un peu sortir en « dur » cela..

Hormis les noms définis« donneesP etc, tous les autres sont à supprimer, ils ne servent plus car le code fait le travail

J’ai laissé en vert les codes de visualiser les changements apportés. Mais on peut les supprimer bien entendu

Cordialement

Rechercher des sujets similaires à "copier coller fusionnees"