XL 2016 Suivi Annuel du Personnel

TheCrawler

XLDnaute Nouveau
Bonjour à tous,

Je suis débutant excel, je me débrouille pas mal mais là je suis vraiment coincé.
J'ai un classeur excel avec a l'intérieur 13 feuilles. les 12 premières feuilles sont les 12 mois de l'année et la 13ème c'est comme un recap pour chaque employé.
Il faut noter que chaque employé garde la même place (ligne) sur chaque feuille comme vous pourrez le constater (cela a cause des formules pour le recap).
Alors ce que je veux c'est faire en sorte que lorsque j'ajoute une ligne dans une feuille, que la même ligne soit ajoutée sur toutes les autres (que ca soit en milieu ou en fin de liste).

Exemple : si j'ajoute EMPLOYE 6 sur la feuille Janvier, je veux que EMPLOYE 6 soit automatiquement ajouté aux autres feuilles également et cela a la même place (ligne).

Merci d'avance pour votre aide !
 

Pièces jointes

  • SUIVI AGENCES.xlsx
    103 KB · Affichages: 23

TheCrawler

XLDnaute Nouveau
RE

Le principe est de saisir un nom et, comme je l'ai proposé au #9, il se classera automatiquement alphabétiquement.

Mais j'ai effectivement trop focalisé sur insertion et oublié le cas d'un nom se situant en dernier:oops: : voici le fichier modifié.
Là c'est parfait ça marche super bien ! Je me demandais si je pouvais regarder et bidouiller pour la suppression, j'espere que c'est quasiment le même procédé ! Encore merci Chris tu me sauves !
 

chris

XLDnaute Barbatruc
Re

A noter qu'en entreprise, en principe on n'efface pas l'historique...

VB:
Sub Suppression_ligne()
Dim Trouve
Dim y As Long
Question = InputBox("Quel nom voulez-vous supprimer ?")
If Question = "" Then Exit Sub

With Sheets("EMPLOYES").ListObjects(1)
    Set Trouve = .ListColumns(1).Range.Find(Question)
    If Not Trouve Is Nothing Then
        Application.ScreenUpdating = False
        Application.Calculation = xlCalculationManual
        y = Trouve.Row - .Range.Row
        .ListRows(y).Delete
        .ListColumns(5).DataBodyRange.Resize(, 5).Formula = ""
        .ListColumns(5).DataBodyRange.Resize(, 5).Formula = "=SUM('Janvier:Décembre'!RC[29])"
        For Each f In ActiveWorkbook.Sheets
            If f.Name <> "EMPLOYES" Then
                With f.ListObjects(1)
                    .ListRows(y).Delete
                End With
            End If
        Next f
    Else
        MsgBox "Nom introuvable"
    End If
End With
Application.Calculation = xlCalculationAutomatic
End Sub
 

TheCrawler

XLDnaute Nouveau
Re

A noter qu'en entreprise, en principe on n'efface pas l'historique...

VB:
Sub Suppression_ligne()
Dim Trouve
Dim y As Long
Question = InputBox("Quel nom voulez-vous supprimer ?")
If Question = "" Then Exit Sub

With Sheets("EMPLOYES").ListObjects(1)
    Set Trouve = .ListColumns(1).Range.Find(Question)
    If Not Trouve Is Nothing Then
        Application.ScreenUpdating = False
        Application.Calculation = xlCalculationManual
        y = Trouve.Row - .Range.Row
        .ListRows(y).Delete
        .ListColumns(5).DataBodyRange.Resize(, 5).Formula = ""
        .ListColumns(5).DataBodyRange.Resize(, 5).Formula = "=SUM('Janvier:Décembre'!RC[29])"
        For Each f In ActiveWorkbook.Sheets
            If f.Name <> "EMPLOYES" Then
                With f.ListObjects(1)
                    .ListRows(y).Delete
                End With
            End If
        Next f
    Else
        MsgBox "Nom introuvable"
    End If
End With
Application.Calculation = xlCalculationAutomatic
End Sub
Super ! ça marche nickel !
Oui t'as raison mais bon ne sait-on jamais ! Autant le faire et voir après s'il faut l'enlever ou pas !
 

TheCrawler

XLDnaute Nouveau
Bonjour Chris !

Je reviens encore à la charge ce matin lol.

Eh bien j'ai copié et collé tout la liste des employés que j'ai déjà, jusque là tout allais bien.
Mais maintenant, quand je fais une insertion via le bouton, je saisie le nom de l'employé, je reçois un message disant que "la ligne ne correspond pas a l'index" (Je ne sais vraiment pas ce que ça signifie) mais par contre a ajoute l'employé en tête de liste en copiant la mise en forme des en-têtes.
Pareil pour la suppression je reçois un message disant "Erreur 9 debogage" (un truc comme ça) mais la suppression s'effectue également.

Je t'envoie le fichier actuel avec la liste des employés et tout.
 

Pièces jointes

  • SUIVI ABSENCES - DMPP.xlsm
    987.9 KB · Affichages: 10

chris

XLDnaute Barbatruc
Re

Pas de MP, merci.

Le principe est de saisir un nom et, comme je l'ai proposé au #9, il se classera automatiquement alphabétiquement.
Si ta liste n'est pas classée au départ l'insertion se fait un peu au hasard

Quand aux messages d'erreurs cela est du à une feuille supplémentaire par rapport à ce qui a été fourni initialement, feuille qui ne correspond pas aux autres.

On le dit et le répète : l'exemple doit être représentatif... sinon on bosse pour rien
 

TheCrawler

XLDnaute Nouveau
Re

Pas de MP, merci.


Si ta liste n'est pas classée au départ l'insertion se fait un peu au hasard

Quand aux messages d'erreurs cela est du à une feuille supplémentaire par rapport à ce qui a été fourni initialement, feuille qui ne correspond pas aux autres.

On le dit et le répète : l'exemple doit être représentatif... sinon on bosse pour rien
Ah d'accord je vois !

Merci c'est gentil !
 

Discussions similaires

Réponses
20
Affichages
773

Statistiques des forums

Discussions
312 103
Messages
2 085 323
Membres
102 862
dernier inscrit
Emma35400