cs_jujube
Messages postés19Date d'inscriptiondimanche 27 octobre 2002StatutMembreDernière intervention21 janvier 2013
-
8 oct. 2007 à 04:18
chaibat05
Messages postés1883Date d'inscriptionsamedi 1 avril 2006StatutMembreDernière intervention20 novembre 2007
-
9 oct. 2007 à 01:25
Bonjour, je fais apparaitre à l'écran le contenu d'une flexgrid. J'y ai mis dans le coin droit de chacune des cellules un nombre. Lorsque je veux rajouter dans le coin gauche inférieur une autre donnée cette dernière efface la première!!!
Vous auriez une solution??
l' idée est de
-récupèrer le contenu de la cellule (coin supérieur gauche)
-forcer une nouvelle ligne avec vbNewLigne
-ajouter un espace , au pif ou en calculant la différence entre
longueur de la chaine nom prenom age et la largeur de la cellule
-ajouter nom,prenom et age.
A tester donc...
cs_jujube
Messages postés19Date d'inscriptiondimanche 27 octobre 2002StatutMembreDernière intervention21 janvier 2013 8 oct. 2007 à 16:40
L'idée est de me faire un calendrier dans lequel la date serait en haut à droite et le nom et l'âge de la personne en bas à gauche
Placer les jours du mois.....
JourUn = Format(Date, "yyyy") & "/" & dChoice & "/" & "01"
pAnnee = CInt(Format(JourUn, "yyyy"))
pMois = CInt(Format(JourUn, "mm"))
JourDebut = Weekday(JourUn) ' Trouve la position du premier jour
sNbrJours = sJourMois(pMois, pAnnee) ' Trouve le nombre de jours dans le mois
sDate = 0
For x = 2 To 7 ' Pour les rangées
For y = 0 To 6 ' Pour les colonnes
If JourDebut + sDate <= 7 Then
y = (JourDebut - 1) + sDate
End If
sDate = sDate + 1
'If sJourMois(Format(Date, "mm"), Format(Date, "yyyy")) < sDate Then Exit Sub
grdCalendrier.Row = x
grdCalendrier.Col = y
grdCalendrier.Font = "Arial Narrow"
grdCalendrier.FontWidth = 10
grdCalendrier.CellAlignment = flexAlignRightTop
grdCalendrier.TextMatrix(x, y) = sDate
If sDate = sNbrJours Then Exit Sub
Next y
Next x
End Sub
Placer les noms...............
With xGrid
If (bRecordOpened = True) Then
' .Visible = False
.Clear
nNbrCol = m_rsCurrRecordSet.Fields.Count + 4
.Cols = nNbrCol
If MoveLast Then
.Rows = 8
Else
.Rows = 8
End If
Call MoveFirst
nTempCol = 0
nTempRow = 0
If m_rsCurrRecordSet.RecordCount > 0 Then
Call m_rsCurrRecordSet.MoveFirst
Do While Not (m_rsCurrRecordSet.EOF)
dDate = m_rsCurrRecordSet.Fields(2).Value ' Nous avons besoin de la date de l'évènement
nAge = DateDiff("m", dDate, Date) \ 12 ' Déterminer l'âge de la personne
dDate = Format(dDate, "mm/dd") & "/" & 2007 ' Déterminer la première journée du mois
If Not IsNull(vBuffer) Then
nPrenom = m_rsCurrRecordSet.Fields(1).Value
nNom = m_rsCurrRecordSet.Fields(0).Value
Call Grille ' pour déterminer dans quelle case je veux écrire l'information
vBuffer = nPrenom & " " & nNom & " " & nAge
.CellAlignment = flexAlignLeftBottom
.TextMatrix(nTempRow, nTempCol) = vBuffer
End If
Call m_rsCurrRecordSet.MoveNext
Loop
End If
End If
FillCalendar = True
.Visible = True
End With
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 201823 8 oct. 2007 à 17:08
Si je comprends bien le problème, je ne pense pas que tu puisses inscrire une donnée dans le coin droit supérieur et le coin gauche inférieur d'une même cellule en même temps. Il faudrait que tu cherches une autre méthode de procéder... ou créer ta propre grille...
MPi²
Vous n’avez pas trouvé la réponse que vous recherchez ?
chaibat05
Messages postés1883Date d'inscriptionsamedi 1 avril 2006StatutMembreDernière intervention20 novembre 20072 9 oct. 2007 à 01:11
beh , je viens de tester et chez moi ça marche !
Au départ : iGrid.TextMatrix(iGrid.Row, iGrid.Col) ="Contenu Initial"
Private Sub iGrid_DblClick() ' juste pour le test
Dim vBuffer As String
vBuffer =Mid(iGrid.TextMatrix(iGrid.Row, iGrid.Col),1,2)
iGrid.TextMatrix(iGrid.Row, iGrid.Col) = vBuffer & _
vbNewLine & " test"
End Sub