Exporter des informations d'une colonne aléatoire dans une autre feuille

pericles

XLDnaute Nouveau
Bonjour,

Merci d'avance à tous ceux qui voudront bien me répondre et m'aider dans ma macro.

Alors voilà, je cherche à créer un planning dans un tableur, pour gérer des rendez-vous de patients(NB : Dans le fichier que je fournis j'ai remplacé tous les noms par des personnages de BD pour pouvoir faire des tests, pardon d'avance aux fans ;-))

J'ai cinq onglets dans mon fichier :

  • table : table générale où seront stockées toutes les données, au final cette table sera cachée
  • bulletin journalier : formulaire n°1 qui permet de retrouver et d'enregsitrer tous les rendez-vous vers la "table" en fonction d'un jour, ce tableau est organisé par professionnel, il fonctionne.
  • bulletin jour patient : formulaire n°2, qui permet de retrouver et d'enregistrer tous les rendez-vous vers la "table" en fonction d'un jour, ce tableau est organisé par patients. C'est le coeur de mon problème.
  • professionnel : liste de professionnels qui sert de liste de validation dans les autres onglets
  • patient: liste de patients qui sert de liste de validation dans les autres onglets


Détail :


Le but de mon fichier est de pouvoir retrouver et modifier les rendez vous :
  • soit par professionnel (formulaire n°1, RAS)
  • soit par patient (formulaire n°2 coeur du problème)


Mon problème est le suivant :
dans le formulaire n°2 je suis déjà capable de renseigner une date dans la liste en cellule B, d'aller dans l'onglet "Table" et me positionner sur la bonne colonne (les colonnes sont rangées par date), dans cette colonne récupérer tous les noms des patients, supprimer les doublons et les recopier dans mon fichier de manière transposé en B3:AJ3 (Je sais que je ne peux pas avoir plus de 35 patients par jour), MAIS je ne suis pas capable de créer la boucle qui me permettrait de retourner dans l'onglet "table", pour toujours dans la même colonne date correspondant à ma cellule B1, aller chercher pour chaque patient le professionnel avec qui il a rendez-vous et le recopier dans la cellule adéquate dans l'onglet "bulletin jour patient".
Je prends un exemple :

en B1 je choisi la date du 15/09/2013 dans mon onglet "bulletin jour patient", je veux donc savoir tous les rendez-vous par de la journée du 15/09 et je veux les afficher par patient. Je choisi donc ma macro "plannning patient lecture" (que j'ai mise plus bas), voici ce qui se passe


Sub planning_patient_lecture()


Dim c As Range, var1 As Double
Dim i As Long, k As Byte


D = Sheets("bulletin_jour_patient").Range("B1").Value 'la valeur de départ etst la date ici par exemple le 15 septembre, on l'enregistre en variable'Sheets("table").Activate 'on va sur l'onglet "table" '

dercol = ActiveSheet.Range("IV1").End(xlToLeft).Column 'on enregistre la dernière colonne comme une variable'

For k = 3 To dercol "donc de B3 à la dernière colonne je recherche la date correspondant à ma cellule B1 dans l'onglet "bulletin jour patient" 'i = 1
If Cells(i, k).Value = D Then

Range(Cells(i, k).Offset(1, 0), Cells(i, k).Offset(660, 0)).Select "je recopie les valeurs de la colonne trouvée"
Selection.Copy
Sheets("bulletin_jour_patient").Activate "je retourne sur mon onglet initia pour copier mes informationsl"


Range("b4").Select



ActiveSheet.Paste

Dim Unique As Object, Cel As Range 'là je vais supprimer mes doublons'


Set Unique = CreateObject("Scripting.Dictionary")
For Each Cel In Range("b2:b" & [b65000].End(xlUp).Row)
If Not Unique.Exists(Cel.Value) Then Unique.Add Cel.Value, Cel.Value
Next Cel
Range("b2:b" & [b65000].End(xlUp).Row).Delete Shift:=xlUp 'je nettoie ma colonne'

Range("b2:b" & Unique.Count + 1) = Application.Transpose(Unique.items)





End If
Next
Range("b4:b50").Select

Selection.Copy
Range("B3").Select

Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True


Range("B4:AJ36").Select 'je recopie mes données dans cette plage sachant que je ne pourrais jamais avoir plus de 35 patients dans la journée'

Selection.Delete

Range("b4").Select

End Sub





Mais ensuite je n'arrive pas à faire la boucle qui me permettrait de retrouver toujours pour ce 15 septembre chaque rendez-vous des patients pour les recopier dans mon tableau ""bulletin jour patient".


Donc un grand merci d'avance à tous ceux qui pourront m'aider à formuler ma macro.
 

Pièces jointes

  • planning 18092013.xlsm
    84.6 KB · Affichages: 39
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 330
Messages
2 087 347
Membres
103 526
dernier inscrit
HEC