XL 2013 importer des données sans modifier le format des cellules distinataires

chindou

XLDnaute Occasionnel
Bonjour le forum

J'utilise une macro pour importer les noms des profs de plusieurs fichiers sans les ouvrir (même nom de feuille sur ses fichiers et même tableaux) pour les lister dans le fichier principal "GRIEX" et sur une seul feuille nommée "Base" sachant que ma macro marche très bien.

Le seul problème que je rencontre c'est le format des cellules. Cette macro récupère les données et le format des cellules des fichiers sources, ces fichiers ont été remplis par déférents professeurs

Ce que je souhaite avoir c'est importer ces données mais garder le format de mes cellules destinataires sur la feuille "Base"

Je joins pour exemples mon fichier principal « griex » et le fichier rempli par les profs « lnfos_profs »

merci de votre précieuse aide
 

Pièces jointes

  • GRIEX.xlsm
    33.9 KB · Affichages: 7
  • Infos_Profs.xlsx
    22.8 KB · Affichages: 7
Solution
@chindou

En fin d'import tu peux lancer cette macro à affiner (j'ai fait les grandes lignes );)

VB:
Sub Mise_en_forme()
Dim Derlig&

Derlig = Range("B" & Rows.Count).End(xlUp).Row

'Police
Range("B3:P" & Derlig).Font.Size = 11
Range("B3:P" & Derlig).Font.Bold = False
Range("B3:P" & Derlig).Font.Name = "Arial Narrow"

'Format date
Range("C3:C" & Derlig).NumberFormat = "m/d/yyyy"
Range("F3:F" & Derlig).NumberFormat = "m/d/yyyy"
Range("I3:J" & Derlig).NumberFormat = "m/d/yyyy"

'Format nombre
Range("G3:G" & Derlig).NumberFormat = "0"
Range("H3:H" & Derlig).NumberFormat = "0.00"
Range("K3:K" & Derlig).NumberFormat = "0.0"

Range("G3:H" & Derlig).HorizontalAlignment = xlGeneral
Range("G3:H" & Derlig).VerticalAlignment = xlCenter
End...

Phil69970

XLDnaute Barbatruc
Bonjour @chindou

Ce que je souhaite avoir c'est importer ces données mais garder le format de mes cellules destinataires sur la feuille "Base"

C'est ta MFC qui te mets les différentes couleurs dans ton fichier destination

1698163438038.png


Supprime les MFC de la feuille "GRIEX.XLSM" et tu verras la différence !!
==> Import sans MFC

1698165167943.png


Merci de ton retour
 

chindou

XLDnaute Occasionnel
Bonjour Phil69970
Merci bien
Peut être que je n'ai bien éclairci le problème.
les MFC sont important pour ma feuille "Base " ce que rencontre comme problème la tailles des polices et les formats dates. je souhaite que lors du collage des données importer les cellules destinataires gardent toujours leurs formats concernant (taille, style de police ; date ou nombre)
c'est a dire coller que les valeurs
 

chindou

XLDnaute Occasionnel
Bonsoir le forum
La piste que tu ma indiquer pour moi c'est pas compliquer, GRIEX est une application que je développe
pour les inspecteurs de la langue française dans le but de bien gérer leurs rapports pédagogiques
en plus les feuilles sont protégées donc c'est pas faciles pour un utilisateur qui ne maitrise pas bien Excel.
je cherche une solution VBA si possible pour dépasser ce problème.
Merci bien Phil69970
 

Phil69970

XLDnaute Barbatruc
@chindou

En fin d'import tu peux lancer cette macro à affiner (j'ai fait les grandes lignes );)

VB:
Sub Mise_en_forme()
Dim Derlig&

Derlig = Range("B" & Rows.Count).End(xlUp).Row

'Police
Range("B3:P" & Derlig).Font.Size = 11
Range("B3:P" & Derlig).Font.Bold = False
Range("B3:P" & Derlig).Font.Name = "Arial Narrow"

'Format date
Range("C3:C" & Derlig).NumberFormat = "m/d/yyyy"
Range("F3:F" & Derlig).NumberFormat = "m/d/yyyy"
Range("I3:J" & Derlig).NumberFormat = "m/d/yyyy"

'Format nombre
Range("G3:G" & Derlig).NumberFormat = "0"
Range("H3:H" & Derlig).NumberFormat = "0.00"
Range("K3:K" & Derlig).NumberFormat = "0.0"

Range("G3:H" & Derlig).HorizontalAlignment = xlGeneral
Range("G3:H" & Derlig).VerticalAlignment = xlCenter
End Sub

Macro à mettre dans la feuille "Base"

1698174081731.png


Comme cela c'est transparent pour l'utilisateur final
 

Discussions similaires

Statistiques des forums

Discussions
314 717
Messages
2 112 167
Membres
111 448
dernier inscrit
ayment