Ajouter un nombre fixe dans une colonne

Bonjour,

Je dispose de 8 classeurs excel (une feuille par classeur), que je souhaite fusionner pour avoir toutes les informations dans le même fichier.

Les fichiers contiennent chacun 8 colonnes avec les mêmes données, chacun correspondant à un département de l'ile de France (liste du personnel d'un type de société de chaque département : date d'entrée et sortie, nom de la société, ville d'implantation de la société ...)

Avant de faire cette fusion, je souhaite ajouter une colonne en début de chaque tableau, indiquant le département correspondant (75.77.78.91.92.93.94.95) Afin de les retrouver facilement par la suite, le fichier ne contenant que le nom de la ville, et pas le code postal ou le numéro de département.

Je commence donc par insérer une colonne au début, puis j'affiche une boite de dialogue demandant à l'utilisateur le numéro du département à afficher dans la colonne.

C'est surement très simple, mais je ne sais pas comment reprendre cette valeur fournie par l'utilisateur pour l'afficher dans mon document.

Voila ce que j'ai pour l'instant :

Sub insertionDpt()
'Permet de créer une première colonne et d'indiquer le n°du département

    Columns("A:A").Select
    Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
    Dim dpt As Integer
    dpt = InputBox("Indiquez le département du fichier : ")
    Range("A1").Select
    ActiveCell.FormulaR1C1 = "dpt"
    Range("A1").Select
    Selection.AutoFill Destination:=Range("A1:A6745")
    Range("A1:A6745").Select

End Sub

Je vous joins l'exemple du fichier de base que j'utilise. Chacun de mes fichiers fait plusieurs milliers de lignes, et le nombre diffère de l'un à l'autre.

Merci d'avance !

8personnel-75.xlsx (184.61 Ko)

Bonjour,

Voici les modifications pour votre code :

Sub insertionDpt()
'Permet de créer une première colonne et d'indiquer le n°du département
DernLigne = Range("A" & Rows.Count).End(xlUp).Row   'Calcule la dernière ligne non vide pour ensuite copier les données que sur les lignes remplies
    Columns("A:A").Select
    Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
    Dim dpt As Integer
    dpt = InputBox("Indiquez le département du fichier : ")
    Range("A2").Select
    ActiveCell.FormulaR1C1 = dpt    'Si vous mettez "dpt", ça vous écrira "dpt" de partout, par contre c'est un objet défini par la box donc pour récupérer la valeur, pas besoin de mettre les ""
    Range("A2").Select
    Selection.AutoFill Destination:=Range("A2:A" & DernLigne)   'Duplication du numéro de département sur toutes les lignes remplies
    Range("A1").Select

End Sub

Cindy

Bonjour à tous

Une variante :

Sub insertionDpt()
'Permet de cr?er une premi?re colonne et d'indiquer le n?du d?partement

    Columns("A:A").Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
    Dim dpt As Integer, derln&
    dpt = InputBox("Indiquez le d?partement du fichier : ")
    derln = Range("B" & Rows.Count).End(xlUp).Row
    Range("A2:A" & derln) = dpt
End Sub

Bye !

Merci à tous les 2, ça marche sans problèmes !!

Bonjour le fil, bonjour le forum,

Tellement en retard que je me demande si ça vaut le coup... Mais puisque c'est fait j'envoie quand même...

Sub insertionDpt()
Dim O As Worksheet
Dim DL As Long
Dim DPT As Variant

Set O = ActiveWorkbook.Worksheets(1)
DL = O.Cells(Application.Rows.Count, "A").End(xlUp).Row
deb:
DPT = Application.InputBox("Indiquez le département du fichier.", "DÉPARTEMENT", Type:=1)
If DPT = False Then Exit Sub
If DPT = "" Then GoTo deb
O.Columns(1).Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
O.Range("A1:A" & DL).Value = DPT
End Sub

Merci quand même

Rechercher des sujets similaires à "ajouter nombre fixe colonne"