Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2019 Suppression des espaces

jui42

XLDnaute Junior
Bonjour,
J'ai une macro qui consiste à extraire des données d'un fichier source (A) et de les importer dans un autre fichier (B).
Je crée ensuite sur le fichier B via VBA, un canevas d'enregistrement.

Le nombre de lignes extraites est variable donc le canevas est plus ou moins éloigné des lignes fraichement collées.

Existerait -il un moyen de créer le canevas directement sous la dernière ligne remplie ?
Je glisse ci-joint le fichier comportant la macro d'extraction("demander" qui se trouve dans le module de la feuil1 du fichier "fiche_op") ainsi que le fichier source (tableau_controle)

Merci de votre aide
Cdt

PS : Je crée mon canevas de manière archaïque... Je suis ouvert à toute critique constructive sur ce point.
 

Pièces jointes

  • fiche_op.xlsm
    73.9 KB · Affichages: 14
  • tableau_controle.xlsm
    37.2 KB · Affichages: 10

Robert

XLDnaute Barbatruc
Repose en paix
Bonsoir Jui, bonsoir le forum,

Qu'est ce qu'un canevas d'enregistrement ?
Pourrrais-tu nous donner les valeurs que l'on devrait rentrer pour avoir un exemple fonctionnel qui nous permettra de voir ce que fait la macro...
 

jui42

XLDnaute Junior
Salut robert,
Il s'agit de la zone ou il y a un "ruban" avec "enregistrement" d'inscris.
Pour voir l'effet de ma macro, tu peux cliquer sur le bouton "Lancer contrôle reception" et inscrire "6.B44" par exemple. Tu pourra voir la création d'un classeur excel avec tout ce que j'ai cité.

Merci d'avance,
cdt
 

Robert

XLDnaute Barbatruc
Repose en paix
Bonjour Jui, bonjour le forum,

je n'ai pas fini mais sur ce principe :

VB:
            'on colle les données
            Selection.Range("A2").PasteSpecial xlPasteFormats
            Selection.Range("A2").PasteSpecial xlPasteAll
            Selection.HorizontalAlignment = xlCenter
            Selection.VerticalAlignment = xlCenter
            Selection.Columns("D").AutoFit
            Selection.Columns("B").AutoFit
            
            Selection.Borders.LineStyle = Excel.XlLineStyle.xlContinuous
            
            '***************************************************************'
            DL = ActiveSheet.Cells(Application.Rows.Count, "A").End(xlUp).Row + 1
            ActiveSheet.Cells(DL, "A") = "Nom"
            
            ActiveSheet.Cells(DL + 1, "A") = "Date_reception"
            ActiveSheet.Columns("A").AutoFit
            
            ActiveSheet.Cells(DL + 2, "A") = "N° LOT"
            
            ActiveSheet.Cells(DL, "D") = "VALIDATION DU CONTROLE"
            ActiveSheet.Range(ActiveSheet.Cells(DL, "D"), ActiveSheet.Cells(DL, "E")).Merge
            ActiveSheet.Range(ActiveSheet.Cells(DL + 1, "D"), ActiveSheet.Cells(DL + 2, "E")).Merge
            ActiveSheet.Range(ActiveSheet.Cells(DL, "A"), ActiveSheet.Cells(DL + 2, "H")).Select
            Selection.Borders.LineStyle = Excel.XlLineStyle.xlContinuous
            
            ActiveSheet.Range(ActiveSheet.Cells(DL, "B"), ActiveSheet.Cells(DL, "C")).Merge
            ActiveSheet.Range(ActiveSheet.Cells(DL + 1, "B"), ActiveSheet.Cells(DL + 1, "C")).Merge
            ActiveSheet.Range(ActiveSheet.Cells(DL + 2, "B"), ActiveSheet.Cells(DL + 2, "C")).Merge
            Selection.HorizontalAlignment = xlCenter
            Selection.VerticalAlignment = xlCenter
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…