CALCUL SUR FLEXGRID

Gamaldiouf Messages postés 43 Date d'inscription lundi 30 octobre 2006 Statut Membre Dernière intervention 16 février 2008 - 26 avril 2007 à 03:11
Philppe2007 Messages postés 41 Date d'inscription mercredi 25 avril 2007 Statut Membre Dernière intervention 5 mars 2008 - 27 avril 2007 à 14:50
Bonjour Mes amis

Je vous remercie trés bien de votre aide incessable  je voudrais vous dire que je ajouter le code derriére le flexgrid chaque fois que je tente ajouter des données il fait une débogage il nous dis erreur numero 13
je clique sur débogage
quand je met le souris sur le nom du champ il montre qu'il est vide
et je met le souris sur CDbl il me dit CDbl (grid.TextMatrix(i,0)) =<type incompatible>
de méme que si je met le souris sur CInt il me dit CInt (grid.TextMatrix(i,3)) =<type incompatible>
je demande vous de nous dire comment corriger ces erreur afin d'éviter ce débogage. 

Merci d'avance

11 réponses

cs_lermite222 Messages postés 492 Date d'inscription jeudi 5 avril 2007 Statut Membre Dernière intervention 2 juillet 2012 4
26 avril 2007 à 07:58
Bonjour,
grid.TextMatrix(i,0) ne fonctionne qu'avec des variables string
2°) les colonnes et ligne commence après les lignes et colonne fixed.

if faudrait peut être faire de cette facon suivante
dim S as string
S="Test"
grid.TextMatrix(i,0)=S

Si la réponse ne convient pas développe un peu to programme
louis
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
26 avril 2007 à 08:19
Mais bon sang !
t' as oublié de préciser que ton Grid était lié...
Dans ce cas il faut intervenir au niveau des champs
et non au niveau des cellules du grid.
Tel champ reçoit telle valeur et c' est ta base qui retranscrira
les données vers ton grid et non l' inverse.
Un MSFlexgrid n' est pas un DBGrid.
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
26 avril 2007 à 08:31
ou alors c' est que tu tentes de convertir une chaine en double ou en entier
Si ta cellule contient "abc"
CDbl (grid.TextMatrix(i,0)) =<type incompatible>
Par contre si c' est 20
grid.TextMatrix(i,0)) =20.00  est tout à fait possible
0
Gamaldiouf Messages postés 43 Date d'inscription lundi 30 octobre 2006 Statut Membre Dernière intervention 16 février 2008
26 avril 2007 à 11:25
Bonjour

toujours j'ai le méme probléme il ya débogage j'ai mis tous le code derriére le flexgrid je ne sais pas c'est comment ça ou non j'ai pas mis string dans la déclaration des variable j'ai déclaration tous colonne as variant, j'ai suivi la procédure que vous m'avez donner mais il y a débogage ici : erreur d'exécution 13.
notehonoraire = CDbl(grid.TextMatrix(i, 0))
J'utilise VB 6.0
j'ai essayé de corrigé mais toujours débogage, je vous demande la correction
 
MERCI D'AVANCE
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
26 avril 2007 à 11:33
pas As Variant puisque tu récupères un Double !
Dim notehonoraire As Double

notehonoraire= CDbl(grid.TextMatrix(i, 0))
Il faut que ta variable soit du même type que la valeur que tu
lu affectes
Si c' était
Dim notehonoraire As Integer
alors tu dois mettre
notehonoraire= CInt(grid.TextMatrix(i, 0))
0
Gamaldiouf Messages postés 43 Date d'inscription lundi 30 octobre 2006 Statut Membre Dernière intervention 16 février 2008
26 avril 2007 à 12:58
j'ai rectifié j'ai récupéré les méme variable que j'ai passé mais toujours il ya débogage a ce  niveau.   notehonoraire= CDbl(grid.TextMatrix(i, 0))

j'ai les déclaré et j'ai récupéré le méme variable

 Dim coefficient As Double
Dim partemploye As Double
Dim partemployeur As Double
Dim total As Double
Dim Valeur As Double
Dim notehonoraire As Integer
Dim datedevisite
Dim actes As Double
Dim visa As Double     

notehonoraire = CInt(grid.TextMatrix(i, 0))
datedevisite = CDbl(grid.TextMatrix(i, 1))
actes = CDbl(grid.TextMatrix(i, 2))
coefficient = CDbl(grid.TextMatrix(i, 3))
total = CDbl(grid.TextMatrix(i, 4))
partemploye = CDbl(grid.TextMatrix(i, 5))
partemployeur = CDbl(grid.TextMatrix(i, 6))
visa = CDbl(grid.TextMatrix(i, 7))

j'ai essayé méme de faire integer mais toujours le méme débogage
j'utilise VB 6.0

merci d'avance
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
26 avril 2007 à 15:41
ou est ce que t' as vu qu' une date puisse être un double ?
et ça m' étonnes qu' un acte ou une visa puissent l' être aussi !
d' ailleurs tu fais quoi avec ces variables ?  tu ne fais pas de
calcul avec tout de même !


Tu sais quoi, mets nous un exemple de donnée devant chaque variable, stp...
Prenant la ligne 1 notehonoraire  datevisite actes  coef
 total =
 partem=ploye = partemployeur  visa

et merci de nous aider à t' aider
0
Gamaldiouf Messages postés 43 Date d'inscription lundi 30 octobre 2006 Statut Membre Dernière intervention 16 février 2008
26 avril 2007 à 16:22
Je remercie d'avance de votre aide 
je vous détaillé ce qui vont recevoir des numéro et et ceux qui vont recevoir du texte et ceux qui vont recevoir texte et chiffre :

 notehonoraire => il va recevoir un numero de note honoraire
coef ficient=>champ coefficient va recevoir du text et chiffre

ce vont recevoir des calculs sont
 total =
 partem=ploye =
 partemployeur =
 
datevisite =>  il va recevoir la date
 actes =>il va recevoir du texte
 visa   =  rien on laisse comment ça

je vais essayé de les déclarés

Dim coefficient As Double
Dim partemploye As Double
Dim partemployeur As Double
Dim total As Double
Dim Valeur As Double
Dim notehonoraire As Integer
Dim datedevisite as integer
Dim actes As integer
Dim visa As integer     
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
26 avril 2007 à 21:53
réfléchissons ensemble un peu, si tu veux bien...


notehonoraire => il va recevoir un numero de note honoraire => As Double
coef ficient=>champ coefficient va recevoir du text et chiffre ça m' étonnerais
  A mon avis coeficient est toujours numérique car tu dois multiplier avec => As Double


ce vont recevoir des calculs sont
 total =  => As Double
 partem=ploye =  => As Double
 partemployeur =  => As Double
 
datevisite =>  il va recevoir la date  soit As Date soit As String
 actes =>il va recevoir du texte  => As string
 visa   =  rien on laisse comment ça   => As string

à toi de jouer maintenant et reviens nous avec de bonnes nouvelles...
0
Gamaldiouf Messages postés 43 Date d'inscription lundi 30 octobre 2006 Statut Membre Dernière intervention 16 février 2008
27 avril 2007 à 10:40
Bonjour

Je vous remercie trés bien j'ai toujours le méme probléme il y a débogage à ce niveau:
notehonoraire = CDbl(grid.TextMatrix(i, 0)) j'ai rectifié mais toujours débogage.
je vous demande pour les valeurs dans les colonnes qu'ont entrent est ce qu'il y a une écriture à passer.
Je vous demande, j'ai mis tous le code derriére le flexgrid sans les déclarations que j'ai mis en haut je vous demande de me dire si je doit mette tous le code dérriére le flexgrid ou bien y a une partie que je doit mettre ailleurs je vous de nous corrigé, si c'est pas ça .

j'ai déclaré la date, les actes et le visa as string je vous demande pour le récupéré est ce que c'est l'abbréviation CStr .

Merci d'avance
0
Philppe2007 Messages postés 41 Date d'inscription mercredi 25 avril 2007 Statut Membre Dernière intervention 5 mars 2008
27 avril 2007 à 14:50
Bonjour

Je suis sous pression avec mon patron parce que je n'arrive pas à faire les calcul pour le flexgrid je vous demande s'il vous plait si je peux vous envoyé tous le code que j'ai fait pour les calculs pour que vous me fasse les corrections nécessaires.
merci d'avance de tous bien que vous pouvez faire pour nous

merci bien
0
Rejoignez-nous