Repartir des lignes dans divers onglets Excel 2010 au format "tableau"

Bonjour à toutes et tous

Voilà en ma qualité de novice, j’ai cherché depuis plusieurs jours dans les forums, une solution concernant problème avec l’utilisation des tableaux sous Excel 2010, car j’ai 3 problèmes en travaillant avec le module « Tableau »

J’ai 4 onglets, demandeurs, Archive Gestion_prio et Accueil terminé

Dans le Tableau de l’onglet (demandeurs), sous la colonne K j’ai une liste a choix, si je choisi (archivé) la ligne est automatiquement transféré dans archive puis supprimé du tableau demandeurs et cela fonctionne bien;

Mais je n’ai pas trouvé la solution, pour le 2ème choix (Prio) du tableau (demandeurs), afin que l’a ligne se transfert automatiquement dans le tableau de l’onglet (Gestion_Prio), à la suite des données existant sans les écraser.

Dans le Tableau de l’onglet ( Gestion_prio); si je choisi « Terminé » il passe bien dans le tableau de l’onglet (Accueil Terminé) ; mais malheureusement, il se met un bas du tableau et écrase les dernières écritures !? J’aimerais qu’il il les met au début du tableau à la suite sans écraser les écritures comme dans l’onglet Archives

Merci à vous toutes et tous pour vos solution, je dois préciser je ne comprends rien à la programmation, je fais que de copier et coller le code et de modifier le nom des onglet ou lettre que j’arrive a identifier avec les tableau joints.

20gestion-locaux.xlsm (63.31 Ko)

Bonjour Meikur le forum

ton fichier en retour

a+

Papou

22meikur-v1.xlsm (64.88 Ko)

Hello Papou

merci infiniment cela fonctionne du tonner et surtout merci pour ta rapidité

je te souhaite une très bonne journée

meikur

je vien de voir que si je sélectionne "Archivé" dans l'onglet demandeur , il me met un message d'erreur d’exécution 424 Objet requis

et si répond par " fin" , il transfert bien la ligne dans l'onglet Archive ( je remet le code à tout hasard ) mais c'est super merci

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim lig&
    Application.ScreenUpdating = False
    If Target.Count > 1 Then Exit Sub
    If Not Application.Intersect(Target, Range("K5:K" & Range("C" & Rows.Count).End(xlUp).Row)) Is Nothing Then
        If Target = "Archivé" Then
                lig = Sheets("ARCHIVES").Range("C4").End(xlDown).Row + 1
            Sheets("Demandeurs").Activate
            Range("B" & Target.Row & ":L" & Target.Row).Copy Sheets("ARCHIVES").Range("B" & lig)
            Rows(Target.Row).Delete Shift:=xlUp
        End If
        If Target = "Prio" Then
            lig = Sheets("Gestion_Prio").Range("C4").End(xlDown).Row + 1
            Sheets("Demandeurs").Activate
            Range("B" & Target.Row & ":J" & Target.Row).Copy Sheets("Gestion_Prio").Range("B" & lig)
            Rows(Target.Row).Delete Shift:=xlUp
        End If
    End If
End Sub

Bonjour,

Une proposition à étudier.

Pas de lignes vides dans les tableaux structurés !...

A te relire.

Cdlt.

12gestion-locaux.xlsm (58.21 Ko)
Private Sub Worksheet_Change(ByVal Target As Range)
Dim lo As ListObject, lo2 As ListObject, lr As ListRow, n As Long, rCell As Range

    If Target.CountLarge > 1 Then Exit Sub
    If Target.ListObject Is Nothing Then Exit Sub
    If Not Application.Intersect(Target, [T_Demandeurs[Statut]]) Is Nothing Then
        Set lo = Me.ListObjects(1)
        n = Target.Row - lo.HeaderRowRange.Cells(1).Row
        Set lr = lo.ListRows(n)
        Select Case Target.Value
            Case "Archiv?"
                Set lo2 = Worksheets("ARCHIVES").ListObjects(1)
            Case "Prio"
                Set lo2 = Worksheets("Gestion_Prio").ListObjects(1)
            Case Else
        End Select
    End If
    With lo2
        If .InsertRowRange Is Nothing Then
            Set rCell = .HeaderRowRange.Cells(2).Offset(.ListRows.Count + 1)
        Else
            Set rCell = .InsertRowRange.Cells(2)
        End If
    End With
    With lr.Range
        .Copy Destination:=rCell.Offset(, -1)
        .Delete
    End With
End Sub

Hello Jean-Eric

Merci pour ta belle proposition effectivement c'est aussi sympa, mais j'ai juste un petit soucis comme je ne suis pas seule a l'utiliser, que c'es un autre département qui remplis certaines données , l'onglet "Demandeur" et l'onglet " Gestion_Prio" sont remplis par deux départements donc ces deux tableaux on besoin d'avoir des lignes vide afin que le personnel puisse renseigner le tableau; mais si je le laisse sans lignes , il risque d’être effacé ou écrasé par mauvaise manipulation.

merci beaucoup pour ton aide

meikur

Re,

Si tu travailles avec des tableaux (structurés) qui comporte des lignes vides (et des colonnes !?), tu auras des ennuis.

Les tableaux sont dynamiques. Renseigne toi sur leur utilisation et informe les autres utilisateurs.

Tu crées les soucis !...

Cdlt.

Bonjour Meikur JeanEric le forum,

je vien de voir que si je sélectionne "Archivé" dans l'onglet demandeur ,

tu avais dit que cela fonctionnait pour archiver donc je n'ai pas modifié j'ai simplement fait le reste

a+

Papou

Re Meikur le forum

voilà modifié

a+

Papou

17meikur-v2.xlsm (65.03 Ko)

Hello Papou

en faite cela marchait bien avec l' archivé mais je pense que en modifiant la seconde partie du de mon code qui ne fonctionnais pas du tout ! et que tu m'a si gentiment modifier pour que cela fonctionne (et ça me plais bien ) ; cela a du créer une incohérence du code , si je click sur débogage il me la ligne " If Target = "Prio" Then " en Jaune

merci Papou et Jean-Eric

vous êtes formidable la sa fonctionne a merveille selon mes besoins

je vous remercie infiniment a vous deux pour tous le temps consacré a mon problème car c'est une fonction que je recherchait depuis des mois très bonne journée

meikur

Re Meikur le forum

bah tu vois il fallait poser la question au bon moment

a+

Papou

N'oublies pas de cliquer sur le V vert

Rechercher des sujets similaires à "repartir lignes divers onglets 2010 format tableau"