Comment copier un format de cellule via VBA

Bonjour, j'ai crée une macro qui copie des données de différentes cellules dans une cellule fusionnée afin de tout regrouper.

Cependant, cette cellule contient des nombres et des dates et j'aimerais qu'ils gardent leur format (séparateur de milliers pour les nombres et format de date pour la date)

Ex :

Cellule B1 : 100'000

Cellule B2 : 12.03.2022

Je voudrai en cellule B3 : "100'000 & 12.03.2022"

Je précise que les cellules B1 et b2 sont juse au bon format, le contenu de la cellule b1 est seulement 100000 (c'est ce qui pose problème) et je n'arrive pas à faire copier 100'000 dans la cellule B3 en plus de la date au bon format

Cells(11, 6).Value = "INC " & currency1 & " " & amount & Chr(13) & Chr(10) & account & Chr(13) & Chr(10) & net_amount & Chr(13) & Chr(10) & maturity

Les variables amount / net_amount / maturity perdent leur format dans la cellule cible et j'aimerais qu'elles le gardent

Bonjour PPP, le forum,

Pas certain d'avoir compris le besoin, un essai tout de même:

Range("B3").Value = Format(Range("B1").Value, "#,##0") & " & " & Range("B2").Value

Cordialement,

Bonjour,

prends quand même le temps de réfléchir à ton fichier.
C'est rarement une bonne idée de mettre plusieurs infos dans une même cellule.
Au-delà de la complexité ajoutée pour un mélange de formats, les données deviennent inexploitables directement et oblige à des contorsion pour les utiliser.
eric

PS : vu qu'il n'y a pas de notion de couleur ceci devrait aller :

    Dim txt As String
    txt = Format([B1], "#'##0") & " & " & Format([B2], "dd.mm.yyyy")

ou

txt = Format([B1], "currency") & " & " & Format([B2], "dd.mm.yyyy")

Bonjour, je vous remercie tous pour vos réponses, ces deux réponses semblent être exactement ce que je recherche.

Cependant, lorsque j'applique le code, "Format" ne fonctionne pas.

Un message d'erreur s'affiche : "Nombre d'arguments incorrect ou affectation de propriété incorrecte"

et le "format" reste avec un f minusucle

Une idée de comment résoudre ce problème ?

Je vous remercie

Bonjour, si dans vos cellules B1 le contenu est bien reconnu comme nombre 100000 et en B2 le contenu est bien reconnu comme Date.

j'écrirais

Range("B3").value=Format(Range("B1").value, "#'##0") & " & " & Format(Cdate(Range("B2").value), "dd.mm.yyyy")

Si toujours erreur il faudrait avoir un fichier exemple avec vos deux cellules pour voir le contenu exact.

J'ai testé avant de poster.
Bien que ce ne soit pas la réaction habituelle, regarde quand même si tu n'as pas des références absentes à décocher dans 'Otils / Références...'
eric

Rechercher des sujets similaires à "comment copier format via vba"