XL 2013 Insérer ligne dans un tableau sur plusieurs feuilles excel

thrxnd

XLDnaute Nouveau
Bonjour,

Je me permets de vous écrire car j'ai fais mes recherches au préalable et les solutions n'étaient adaptées qu'à des feuilles de classeur sans tableaux.

J'ai créée un fichier excel permettant de visualiser l'ensemble des congés pris par les salariés d'une entreprise. Chaque feuille represente un mois, elles sont intitulées "Janvier", "Février",..."Decembre". Sur une feuille il y a plusieurs petits tableaux représentant chaque section "commerciaux", "ressources humaines" etc, avec dedans le nom des salariés, les jours du mois, et le total pour afficher les congés pris.
J'ai fais des tableaux croisés dynamiques avec l'assistant afin de pouvoir avoir sur une dernière feuille l'ensemble des congés pris par chaque section.

Cependant, en voulant insérer une ligne par exemple pour ajouter un nouveau commercial, je dois tout faire manuellement pour chaque feuille du mois de l'année.

Existe-t-il une façon permettant d'insérer une ligne sur Janvier dans un des tableaux de section, et que la ligne soit insérée sur toutes les feuilles des mois de l'année ?
J'ai tenté de sélectionner toutes les feuilles en même temps et d'insérer une ligne, mais vu qu'il s'agit d'un tableau l'option "Insérer" est grisée.

Je ne sais pas si la description de mon problème est claire.

En vous remerciant par avance de toute aide apportée.

Cordialement,
Amandine
 

CISCO

XLDnaute Barbatruc
Re : Insérer ligne dans un tableau sur plusieurs feuilles excel

Bonjour

Cela serait beaucoup plus simple pour nous si tu mettais sur le forum un fichier simplifié représentant bien le besoin, avec juste deux ou trois feuilles, deux ou trois tableaux par feuilles, avec des noms bidons...

@ plus
 

thrxnd

XLDnaute Nouveau
Re : Insérer ligne dans un tableau sur plusieurs feuilles excel

Au temps pour moi, voici un document test reprenant mon document officiel en plus léger

Cordialement.
 

Pièces jointes

  • test.xls
    275.5 KB · Affichages: 62
  • test.xls
    275.5 KB · Affichages: 60

job75

XLDnaute Barbatruc
Re : Insérer ligne dans un tableau sur plusieurs feuilles excel

Bonjour thrxnd, bienvenue sur XLD,

Impératif : dans les 12 feuilles de mois les tableaux à traiter doivent être situés au même endroit.

Alors sélectionnez une ligne complète (3 ou 4 cellules ?) d'un des tableaux et testez ces macros :

Code:
Sub AjouterLigneTableau()
Dim ad As String, w As Worksheet
On Error Resume Next 'sécurité
ad = Selection.Address
For Each w In Worksheets
  If IsDate("1/" & w.Name) Then _
    w.Range(ad).ListObject.ListRows.Add AlwaysInsert:=True
Next
End Sub

Sub SupprimerLigneTableau()
Dim ad As String, w As Worksheet
On Error Resume Next 'sécurité
ad = Selection.Address
For Each w In Worksheets
  If IsDate("1/" & w.Name) Then w.Range(ad).Delete xlUp
Next
End Sub
Nota : ne pas oublier les accents dans les noms des mois.

Edit 1 : bonjour CISCO, chris.

Edit 2 : vu le fichier, chaque ligne des tableaux comporte donc 33 cellules à sélectionner.

A+
 
Dernière édition:

chris

XLDnaute Barbatruc
Re : Insérer ligne dans un tableau sur plusieurs feuilles excel

Bonjour

Effectivement manuellement ce n'est pas possible mais faisable par une boucle VBA.

Idéalement il faudrait nommer tes tableaux avec une même racine (c'est la cas ici mais le nom n'est pas idéal), avoir une zone de saisie pour le nom à ajouter et soit une case pour préciser Commercial ou Direction soit 2 boutons différents pour que ce nom s'insère dans les 12 tableaux.

Précise si tes 12 mois existent dès le début ou pas.

Edit : salut Job75 ;).
 

thrxnd

XLDnaute Nouveau
Re : Insérer ligne dans un tableau sur plusieurs feuilles excel

Bonjour et merci de vos réponses si rapides.

Job75, il suffit simplement de copier/coller le texte dans le VBA ou alors je dois modifier des choses ? Car j'ai testé et en exécutant la macro rien ne se passe.

Chris, mes 12 mois existent dès le début, de même pour les tableaux par section commercial direction etc.. Juste il faudrait que pour l'embauche d'un nouveau salarié je puisse insérer directement pour janvier une ligne, et qu'elle se fasse sur tous les mois de l'année.
 

job75

XLDnaute Barbatruc
Re : Insérer ligne dans un tableau sur plusieurs feuilles excel

Re,

Job75, il suffit simplement de copier/coller le texte dans le VBA ou alors je dois modifier des choses ? Car j'ai testé et en exécutant la macro rien ne se passe.

Vous collez le code dans un module standard, j'ai testé sur votre fichier ça se passe très bien.

Il faut que les 33 cellules d'une ligne de tableau soit bien sélectionnées.

Enfin n'oubliez pas d'enregistrer le fichier en .xlsm (acceptant les macros).

A+
 

thrxnd

XLDnaute Nouveau
Re : Insérer ligne dans un tableau sur plusieurs feuilles excel

En sélectionnant les 33 cellules et reproduisant le texte de la VBA, rien ne se passe également. Je ne suis pas sûre de bien faire les choses comme il faut... J'ai selectionné une ligne faisant partie d'un tableau (avant la ligne total) et pris les 33 cellules, après je suis allée dans l'onglet développeur/VBA/nouveau module et j'ai collé le texte. J'ai exécuté avec le petit triangle vert. Et ensuite rien.
 

thrxnd

XLDnaute Nouveau
Re : Insérer ligne dans un tableau sur plusieurs feuilles excel

Oui j'ai enregistré de sorte à ce que les macros puissent être activées. Mais il faut que j'aille dans macro et que je clique sur exécuter pour que quelque chose se passe ? Car là ça ne modifie rien
 

CISCO

XLDnaute Barbatruc
Re : Insérer ligne dans un tableau sur plusieurs feuilles excel

Bonjour à tous, bonjour Job75, Chris, thrxnd

Si, si, cela fonctionne, mais la ou les lignes sont ajoutées en bas du tableau en cours, pas au dessus ou en dessous de la ligne sélectionnée.


@ plus
 

thrxnd

XLDnaute Nouveau
Re : Insérer ligne dans un tableau sur plusieurs feuilles excel

Si je comprends bien CISCO, une ligne supplémentaire est supposée s'insérer lorsque j'execute la macro de Job75 juste en dessous du tableau où j'aurais sélectionnée les 33 cellules ?
Car j'avais un intervalle de deux lignes entre chaque tableau de section (commercial, direction...) et aucune ligne supplémentaire n'est insérée lorsque j'éxécute cette macro en question.

Cordialement
 

CISCO

XLDnaute Barbatruc
Re : Insérer ligne dans un tableau sur plusieurs feuilles excel

Bonjour

Cf. pièces jointes.

@ plus
 

Pièces jointes

  • testligne.xls
    296.5 KB · Affichages: 49
  • testligne.xls
    296.5 KB · Affichages: 47
  • testligne.xlsm
    87.8 KB · Affichages: 57

thrxnd

XLDnaute Nouveau
Re : Insérer ligne dans un tableau sur plusieurs feuilles excel

Bonjour,

En regardant les pièces jointes, je vois exactement le résultat que j'aimerais obtenir. Cependant lorsque je fais moi-même la manip je n'ai malheureusement pas cela qui se passe.
Je fais les choses comme ceci :
Capture d’écran (255).jpg

Capture d’écran (256).jpg

Et a la fin rien ne change sur le tableau d'origine
 

chris

XLDnaute Barbatruc
Re : Insérer ligne dans un tableau sur plusieurs feuilles excel

Bonjour

Ma version qui insère 1 ligne en fin de chaque tableau Commerciaux (à copier dans un module standard)
Code:
Sub Inserligne()
    For Each Feuille In ActiveWorkbook.Worksheets
        For Each Tableau In Feuille.ListObjects
            If InStr(Tableau.Name, "Commerciaux") > 0 Then
                Tableau.ListRows.Add AlwaysInsert:=True
                Exit For
            End If
        Next Tableau
    Next
End Sub

Si on saisit le nom avant quelque part (cellule dédiée), on pourrait le mettre dans cette ligne dans la macro
 

Discussions similaires

Réponses
10
Affichages
209

Statistiques des forums

Discussions
312 234
Messages
2 086 467
Membres
103 226
dernier inscrit
smail12