Même format range("A") = range("B")

  • Initiateur de la discussion Initiateur de la discussion ChuBaKa
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

C

ChuBaKa

Guest
Bonjour le forum,

J'utilise dans un programme VBA la commande de base suivante : Range(''feuil1'!A' & i).value = Range(''feuil2'!C' & j).value où i et j sont des variables. La commande fonctionne bien, mais j'ai un problème. Le format de la cellule n'est pas conservé. J’ai par exemples des dates qui passent du format jj/mm/aa au format 38882 par exemple. Quelqu'un saurait-il modifier cette commande pour que, en résumé, la cellule de destination conserve le format de la cellule de départ ?
Je présume qu'il ne faut pas passer par un '.value', mais je ne sais pas quoi essayer d'autre sans ralentir trop mon programme (qui n'est déjà pas trés rapide !!!).

Par avance, merci à ceux qui pourront m'aider

Salutations
 
Salut ChuBaKa,

Je viens de faire un essai avec ton code et chez moi il ne fonctionne pas, erreur 1004 je crois.
Je te propose le code suivant qui chez moi me garde le format date :
Code:
Sheets('feuil1').Range('A' & i).Value = Sheets('feuil2').Range('C' & i).Value

@+
 
Re:Même format range(\"A\") = range(\"B\")

bonjour ChuBaKa
salut Porcinet

pour ton probleme de format le mieux est de mettre en tete de ta macro:

Sheets('Feuil2').Columns(3).NumberFormat = 'dd/mm/yy'

bien sur, si d'autres cellules doivent avoir un autre format, il faut individualiser le NumberFormat

edit: feuil2 et non feuil1

Message édité par: pierrejean, à: 12/04/2006 13:42
 
Bonjour Porcinet82,

Merci pour ta réponse.
Tu trouveras ci-joint un fichier exemple dans lequel ma ligne de commande fonctionne.
Appuie une fois sur le bouton de la Feuil1, tu verras que la valeur A1 de la Feuil1 = la valeur C2 de la Feuil2. Mais si tu change ensuite la valeur C2 de la Feuil2 (met la par exemple à 3 et change le format de la cellule en 'standard') et que tu retourne sur la Feuil1 et que tu appuis à nouveau sur le bouton, tu verras que la valeur de A1 change, mais le format reste en 'date'. C'est mon problème.

Salutations
 
Bonjour pierrejean,

Merci pour ta réponse.
Le problème, c'est que ma ligne de commande s'éxécute en boucle sur plusieurs colonne. Ces colonnes ont des formats différents. Ta solution fonctionnerait, mais, si je l'ai bien comprise, elle m'obligerait à tenir à jour une matrice de correspondance entre le format de la colonne et le numéro de la colonne.
Je cherche en fait à automatiser cela.

Salutations
 
Re:Même format range(\"A\") = range(\"B\")

re ChuBaka

ton fichier n'est pas passé

mais comme tu exposes ton probleme il semble qu'il faille ajouter cette ligne

Range(''feuil1'!A' & i).NumberFormat = Range(''feuil2'!C' & j).NumberFormat

excuses
pas rafraichis

Message édité par: pierrejean, à: 12/04/2006 14:56
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
917
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
906
Retour