Bonjour à tous,
j'ai un problème un peu ardu que je ne sais pas résoudre malgré mes recherches. Sur une forme j'ai 2 flexgrid : la première n'a qu'une ligne ou s'inscrivent des dates par calcul à partir d'un textbox.
la deuxième est un tableau dont les colonnes correspondent à la première msfexgrid.
Le Flexgrid qui sert de tableau est dévérouillé et je rentre des valeurs ligne par ligne sur les 4 premières colonnes, donc je dois pouvoir récupérer le N° de ligne ?
c'est mon premier problème car j'en suis rester au vba avec xlup et je ne sais trop comment faire pour récupérer l'adresse de la dernière cellule ou j'ai écrit, en plus l'opération va se dérouler sur une autre form que j'ai transformée en palette de couleur
Si j'ai le N° de la ligne, ensuite je dois trouver le N° de la première colonne grasse aux dates de la première flexgrid
exemple: ma tâche commence le 10 janvier 2013 qui correspond à un N° de colonne. est-il possible de rechercher la date avec la méthode find ou match ?
mais je dois aussi trouver la date de fin de la tâche, puis sélectionner , ou faire une boucle depuis la date de début jusqu'à la date de fin afin de colorier les cellule avec la couleur choisie de ma palette
ce code color bien mes cellules reste à savoir comment faire pour l'exécuter sur les cellules concernées :
si quelqu'un peu me dire comment trouver les N° de ligne et de colonne, je pourrais enfin avancer et compliquer un peu plus mon code de d'amateur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 Private Sub Picture18_Click() 'picture18 est la commande vbred de ma palette Dim C As Long, l As Long, d As Date 'pour le moment j'imput un N° de ligne au hasard tant que je ne sais pas comment faire pour le récupérer l = 5 'il faudrait que je commence à rechercher aprés avoir choisi la date If Me.Text1.Text <> "" Then 'la textbox contiendra la date de début d = Me.Text1.Text End If 'date de début en imposant une colonne en attendant de savoir la recherchée 'le msflexgrid2 contient les dates frmMain.MSFlexGrid2.Col = 5 frmMain.MSFlexGrid2.Row = 0 'je récupère le N° de colonne de début en aveugle C = frmMain.MSFlexGrid2.Col 'je multiplie c par 2 car il y a 2 fois plus de colonnes dans le tableau C = C * 2 'je récupère N° de colonne de fin (bien sur je mettrais une formule pour que la date ce calcul toute seul frmMain.MSFlexGrid2.Col = 8 frmMain.MSFlexGrid2.Row = 0 'toujours sans savoir ou la trouver f = frmMain.MSFlexGrid2.Col f = f * 2 'boucle pour colorer les cellules du tableau entre le début et la fin de la tâche 'une boucle bisard à ma façon boucle: frmMain.MSFlexGrid1.Col = C frmMain.MSFlexGrid1.Row = l 'je colore la cellule sélectionnée frmMain.MSFlexGrid1.CellBackColor = &HFF& 'j'ajoute 1 jour à d et je continue C = C + 1 If C <= f Then GoTo boucle End Sub
merci d'avence
cordialement
didier
Partager