Fusion intelligente des cellules

Bonjour,

J'utilise excel régulièrement mais pas au max de ses cpossibilités et là j'ai un gros travail à faire et je pense qu'il y a possibilité d'utiliser Excel pour me faciliter la vie... je m'explique:

  • J'ai un fichier excel avec la liste des employés : nom, prénoms, poste, n° SS, etc...
  • j'ai un autre fichier excel ou j'ai un onglet par salarié. Sur chaque onglet je dois reporter le nom, prénom, date de naissance, n° S, etc pour chaque employé.

Est-ce qu'il existe un moyen de dire que tout chaque nom ira dans la case N1, les prénoms dans la case N2, etc.. et cela pour les 170 salariés donc 170 onglets à compléter.

Je vous remercie beaucoup pour votre aide

Magalie

Bonjour,

Ce que tu décris est certainement faisable ... pourquoi ne pas joindre un fichier test anonymisé ...pour une réponse adaptée à ta situation particulière ...

Oui tu as raison

Merci du conseil, je le poste ce matin


Re-Bonjour,

voici les fichiers "exemples" sur lesquels je dois travailler :

23donnees-perso.zip (7.71 Ko)

Re,

Désolé je n'avais vu que tu avais posté ton fichier ... je viens tout juste de m'en rendre compte ...

Dès que j'ai un petit moment, je me penche sur ta requête ...

Aucun soucis,

Merci beaucoup

Bonjour Magalie,

Si j'ai bien compris ton projet ...

Il s'agit d'une tâche que tu ne dois accomplir qu'une seule fois pour concrètement créer ta future base de données ...

D'un côté tu as les données chiffrées et de l'autre tu as un format déterminé avec la contrainte d'un onglet par salarié ...

Si tout cela est correct, tu pourrais envisager de te simplifier les choses ... avec une seule macro de mise en forme ...

Peux-tu avoir la gentillesse de me confirmer tout cela ???

N.B.

S'il te plait ... il faut pas utiliser le mot "fusion" car, avec Excel, cela fait écho aux cellules fusionnées qui sont le cauchemar absolu...

Bonjour,

Un début de réponse.

15donnees-perso.xlsm (35.79 Ko)

Et ci-dessous la procédure principale.

Cdlt.

Public Sub Creer_onglets()
Dim wb As Workbook
Dim wsS As Worksheet, wsM As Worksheet
Dim objList As ListObject
Dim Cell As Range
Dim strWs As String

    Application.ScreenUpdating = False

    Set wb = ActiveWorkbook
    Set wsS = wb.Worksheets("Données")
    Set wsM = wb.Worksheets("Modèle")
    Set objList = wsS.ListObjects(1)

    For Each Cell In objList.DataBodyRange.Columns(1).Cells
        strWs = Trim(Cell & " " & Cell.Offset(0, 1))
        If Not NameSheetExists(strWs) Then
            With wsM
                .Cells(1, 2) = Cell.Offset(0, 2)
                .Cells(2, 2) = Cell.Offset(0, 3)
                .Cells(1, 7) = Trim(Cell)
                .Cells(1, 9) = Trim(Cell.Offset(0, 1))
                .Cells(2, 7) = Cell.Offset(0, 6)
                .Cells(1, 14) = Trim(Cell.Offset(0, 5))
                .Cells(2, 14) = Cell.Offset(0, 4)
                .Copy after:=Worksheets(Worksheets.Count)
                ActiveSheet.Name = strWs
            End With
        Else
            MsgBox "La fiche " & strWs & " existe déja.", vbInformation
        End If
    Next Cell

    Set objList = Nothing
    Set wsS = Nothing: Set wsM = Nothing
    Set wb = Nothing

End Sub

Bonjour, merci beaucoup pour votre aide, mon problème est résolu

Un grand grand grand merci

Bonjour,

Merci de clore le sujet.

Cdlt.

Rechercher des sujets similaires à "fusion intelligente"