Réparation d'onglets

roby

XLDnaute Occasionnel
bonjour le Forum,

Après plusieurs recherches, je bloque sur une macro, données récupérables limitées dans objet.

J'aimerai
résoudre une partie de mon programme qui me pose problème.


Dans l'onglet "Administrateur " une liste (AO:BH) est générée et doit être réparée sous la même forme d'un onglet (comme exemple "TOTO Titi"), nous disposons d'un modèle "Modele" que j'aimerai utiliser pour re créer ses dossiers. Des macros existent déjà mais ne seront opérationnelles qu'avec la version originale. ne pas tenir compte , je pense par exemple au nom et n° de tel de la référente en M16.
Le bouton mis à disposition fait apparaitre la liste des dossiers manquants, j'aimerai pouvoir faire une sélection multiple ou grace au bouton "tout selectionner" recréer tous les dossiers manquants automatiquement.
le dossier TOTO titi affiche des bulles qui corresponde aux colonnes de la liste qui se trouve dans "administrateur".
merci d'avance aux solutions apportées.
Roby
 

Pièces jointes

  • Roby-REPAR.zip
    110.3 KB · Affichages: 39
  • Roby-REPAR.zip
    110.3 KB · Affichages: 39
  • Roby-REPAR.zip
    110.3 KB · Affichages: 36

homepyrof53

XLDnaute Occasionnel
Re : Réparation d'onglets

Bonjour,
Voici un début de solution,
L macro créer le nouvel onglet et renseigne uniquement la date de naissance.
Cette date n'apparait pas car tu as un macro qui fonctionne au changement de valeur de ta feuille.

Ne connaissant pas ton application je ne suis pas allé plus loin

A toi d'intervenir
 

Pièces jointes

  • Roby-REPAR.zip
    148.2 KB · Affichages: 34
  • Roby-REPAR.zip
    148.2 KB · Affichages: 31
  • Roby-REPAR.zip
    148.2 KB · Affichages: 35

roby

XLDnaute Occasionnel
Re : Réparation d'onglets

bonjour le Forum, homepyrof53

je regarde cela et l'adapte au fichier d'origine, et vous tiens au courant.
je privilégie un traitement rapide car le nombre de dossiers à réparer peut être assez grand.

Comment peut-on tout sélectionner dans la liste affichée par un bouton ?

Merci encore

Roby
 

roby

XLDnaute Occasionnel
Re : Réparation d'onglets

Re le forum, homepyrof53

Merci encore, j'aurais du trouver la boucle,

j'ai adapté le code au fichier original, la macro me recrée bien le dossier ("Onglet") avec le nom et prénom mais les autres infos ne sont pas au bon endroit, pourtant j'utilise l'instruction cells(x,y).

le code:
'Module REPARATION DOSSIER
Unload Me
If Lbx1.ListCount = 0 Then Exit Sub
Dim L As Long, N As Long, Dl As Long
Dl = Cells(Rows.Count, 2).End(xlUp).Row + 1
With Lbx1
For N = 0 To Lbx1.ListCount - 1
If .Selected(N) = True Then
var01 = .List(N) 'Nom et Prénom
Sheet_copy "Modele", var01, True
l1 = N + 2 'Numéro de la ligne dans la feuille Amdinistrateur
Cells(5, 5) = Feuil006.Cells(l1, 47) 'Nom et Prénom
Cells(7, 5) = Feuil006.Cells(l1, 49) 'Date de naissance
Cells(11, 7) = Feuil006.Cells(l1, 48) 'Sexe
Cells(5, 9) = Feuil006.Cells(l1, 50) 'Adresse
Cells(5, 14) = Feuil006.Cells(l1, 51) 'Tel.1
Cells(5, 16) = Feuil006.Cells(l1, 52) 'Tel.2
Cells(5, 18) = Feuil006.Cells(l1, 53) 'Tel.3
Cells(13, 3) = Feuil006.Cells(l1, 45) 'Type
If Feuil006.Cells(l1, 44) = "C" Then
Cells(15, 3) = "Colmar" 'MA - Colmar
Else
Cells(15, 3) = "Mulhouse" 'MA - Mulhouse
End If
Cells(15, 5) = Feuil006.Cells(l1, 42) 'Date Début
Cells(15, 7) = Feuil006.Cells(l1, 43) 'Date Fin
Cells(15, 9) = Feuil006.Cells(l1, 54) 'GIPSE
Cells(15, 11) = Feuil006.Cells(l1, 46) 'Ecrou
Cells(13, 16) = Feuil006.Cells(l1, 60) 'CPIP
Cells(25, 2) = Feuil006.Cells(l1, 41) 'N° Dossier
If Feuil006.Cells(l1, 58) = "R" Then
Cells(20, 5) = "Agent RB" 'Agent RB
End If
If Feuil006.Cells(l1, 58) = "P" Then
Cells(20, 5) = "Agent PS" 'Agent PS
End If
If Feuil006.Cells(l1, 58) = "T" Then
Cells(20, 5) = "Agent TB" 'Agent TB
End If
Cells(20, 14) = Feuil006.Cells(l1, 55) 'MU
Cells(20, 16) = Feuil006.Cells(l1, 56) 'PID
If Feuil006.Cells(l1, 45) = "PSEM" Then
Cells(20, 18) = Feuil006.Cells(l1, 57) 'TU
End If
'Incrémente le nombre de Dossiers
Range("VDossier") = Range("VDossier") + 1
End If
Next
End With

Merci encore

Roby
 

homepyrof53

XLDnaute Occasionnel
Re : Réparation d'onglets

Je pense que le problème vient du nom de la feuille administarteur.

Il faut aller dans l'editeur de vba puis affichage, exploreur de projet.
La il y a les dossiers Feuilles et Modules que l'on connait.
Ouvrir le dossier Microsoft Excel Objets
On voit le nom des feuilles exemple Feuil002(Administrateur)

Le terme entre parenthèse c'est le nom qui apparait sur l'onglet, c'est le "name" de l'onglet et Feuil002 est le "codename"
On peut changer c'est information en cliquant sur la feuille puis F4 une fenêtre s'ouvre
on a le champ (Name) et plus bas Name, c'est ce dernier qui apparait dans l'onglet.
Saisi FAdmin dans le champ (Name)

Ainsi dans ton vba tu peux écrire FAdmin.cells(x,y)="....."
Ce système a l'avantage que si l'utilisateur change le nom de l'onglet, ton code vba fonctionnera toujours

après ça
il faut changer les lignes
Cells(7, 5) = Feuil006.Cells(l1, 49)
en
Cells(7, 5) = FAdmin.Cells(l1, 49)

Car c'est dans la feuille courante que l'on va chercher les infos dans la feuille FAdmin (administrateur)

J'espère avoir été assez clair
Bon courrage
 

roby

XLDnaute Occasionnel
Re : Réparation d'onglets

Re le forum,homepyrof53

je ne sais pas si le changement de nom peut faire quelque chose, les données receuillies sont bien celles que l'on veut. C'est aux cellules de destination ou ce n'est pas bon les infos sont les mêmes mais pas placés à l'endroit défini.
Et dans le fichier d'origine le code name est important car les feuilles de 02 a 13 sont masquées. Je vérifie des que je peux.

Merci

Roby
 

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 305
Messages
2 087 084
Membres
103 459
dernier inscrit
Arnocal