Problème avec les formules de base (multiplication, sommes)
Fermé
lulu
-
23 avril 2014 à 13:19
ccm81 Messages postés 10900 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 2 novembre 2024 - 24 avril 2014 à 11:25
ccm81 Messages postés 10900 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 2 novembre 2024 - 24 avril 2014 à 11:25
A voir également:
- Problème avec les formules de base (multiplication, sommes)
- Formules excel de base - Guide
- Formules mathématiques de base - Télécharger - Études & Formations
- Tnt base de données vide ✓ - Forum TNT / Satellite / Réception
- Célia doit nettoyer le tableau ci-dessous pour l’ajouter à la base de données de son entreprise. les données sont ensuite traitées automatiquement. quelles sont les 4 cellules qui risquent de poser problème ? ✓ - Forum Excel
- Base de registre - Guide
4 réponses
f894009
Messages postés
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
1 709
23 avril 2014 à 13:43
23 avril 2014 à 13:43
Bonjour,
j'ai droits à un message d'erreurs 13... vous avez un probleme avec le separateur de decimales point ou virgule
le total est de 112001 et non de 203). Il nous faut voir votre programme
j'ai droits à un message d'erreurs 13... vous avez un probleme avec le separateur de decimales point ou virgule
le total est de 112001 et non de 203). Il nous faut voir votre programme
ccm81
Messages postés
10900
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
2 novembre 2024
2 425
23 avril 2014 à 16:44
23 avril 2014 à 16:44
Bonjour
Comme dit f894009 que je salue cordialement, il y a un problème de type
Peux tu une partie de ton fichier au format excel 2003 (fichier/enregistrer sous/type ... xls) sur cjoint.com et joindre le lien obtenu à ton prochain message
Cdlmnt
Comme dit f894009 que je salue cordialement, il y a un problème de type
Peux tu une partie de ton fichier au format excel 2003 (fichier/enregistrer sous/type ... xls) sur cjoint.com et joindre le lien obtenu à ton prochain message
Cdlmnt
lulu74500
Messages postés
6
Date d'inscription
mercredi 23 avril 2014
Statut
Membre
Dernière intervention
28 avril 2014
23 avril 2014 à 21:03
23 avril 2014 à 21:03
merci CCM81
voici le lien ou vous trouverez mon code : https://www.cjoint.com/?0Dxu5bBx5Ty
je n'est pas pu envoyer qu'une parti car tous est lié. vu que je ne suis pas une experte il doit y avoir beaucoup de ligne inutiles j'en suis consciente mais j'ai coder avec ce que je savais c'est à dire pas grand chose, mais j'ai fait comme j'ai pu !
mes erreurs viennes des macros : _calcul_estimatif_.... et _calcul_total_...
si vous voulez plus de précision n'hésitez pas j'essaierais d'être plus rapide à répondre
cordialement
lulu
voici le lien ou vous trouverez mon code : https://www.cjoint.com/?0Dxu5bBx5Ty
je n'est pas pu envoyer qu'une parti car tous est lié. vu que je ne suis pas une experte il doit y avoir beaucoup de ligne inutiles j'en suis consciente mais j'ai coder avec ce que je savais c'est à dire pas grand chose, mais j'ai fait comme j'ai pu !
mes erreurs viennes des macros : _calcul_estimatif_.... et _calcul_total_...
si vous voulez plus de précision n'hésitez pas j'essaierais d'être plus rapide à répondre
cordialement
lulu
ccm81
Messages postés
10900
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
2 novembre 2024
2 425
Modifié par ccm81 le 23/04/2014 à 22:02
Modifié par ccm81 le 23/04/2014 à 22:02
Effectivement il y a de grosses maladresses/erreurs dans la programmation
Un exemple
Module Général
RQ1. Les variables F174, ... sont sensées déclarées comme string (en fait seule F178 l'est, les précédentes sont de type variant car non typées)
RQ2. Or ton addition suppose qu'elle sont de type numérique sinon tu fais une concaténation (mise bout à bout des valeurs)
elle fait un appel à la procedure
RQ3. F174 = ActiveCell.FormulaR1C1
renvoie dans F174 la formule qu'il y a dans Range("F174") donc une chaine et non un nombre
Pour récupérer la valeur de la cellule et non la formule
F174 = Range("F174").Value
RQ4. tu remarqueras que le compilateur ne dit rien sur cette ligne, ce qui montre bien que le type numérique du résultat ne le contrarie pas (F174 est de type variant et non string)
RQ5. Il y aurait énormément d'améliorations/optimisations à faire dans ton code.
Bon courage
Un exemple
Module Général
Public Sub i_CALCUL_TOTAL_ESPACES_VERTS()....
i_COPIE3_ESPACES_VERTS
TOTAL_ESTIMATIF_ESPACES_VERTS = F174 + F175 + F176 + F177 + F178
RQ1. Les variables F174, ... sont sensées déclarées comme string (en fait seule F178 l'est, les précédentes sont de type variant car non typées)
RQ2. Or ton addition suppose qu'elle sont de type numérique sinon tu fais une concaténation (mise bout à bout des valeurs)
elle fait un appel à la procedure
Public Sub i_COPIE3_ESPACES_VERTS()
Sheets("Rubrique DQE").Select
'copie des prix estimatif
' - ce que tu as écrit (à supprimer)
'Range("F174").Select
'F174 = ActiveCell.FormulaR1C1
'Range("F175").Select
'F175 = ActiveCell.FormulaR1C1
'Range("F176").Select
'F176 = ActiveCell.FormulaR1C1
'Range("F177").Select
'F177 = ActiveCell.FormulaR1C1
'Range("F178").Select
'F178 = ActiveCell.FormulaR1C1
' ce qu'il faut écrire
F174 = Range("F174").Value
F175 = Range("F175").Value
F176 = Range("F176").Value
F177 = Range("F177").Value
End Sub
RQ3. F174 = ActiveCell.FormulaR1C1
renvoie dans F174 la formule qu'il y a dans Range("F174") donc une chaine et non un nombre
Pour récupérer la valeur de la cellule et non la formule
F174 = Range("F174").Value
RQ4. tu remarqueras que le compilateur ne dit rien sur cette ligne, ce qui montre bien que le type numérique du résultat ne le contrarie pas (F174 est de type variant et non string)
RQ5. Il y aurait énormément d'améliorations/optimisations à faire dans ton code.
Bon courage
lulu74500
Messages postés
6
Date d'inscription
mercredi 23 avril 2014
Statut
Membre
Dernière intervention
28 avril 2014
24 avril 2014 à 08:18
24 avril 2014 à 08:18
Bonjour
Tout d'abbord merci en tout cas pour l'efficaciter !
Donc si j'ai bien compris les modifications en .value fonctionneraient ?
Et j'ai bien conscience que mon code est un peu maladroit mais avant j'avais aucune notion de code hormis quelque cours que j'avais eu en DUT et cetait sur libre office donc le principe est a peu pres le meme mais la redaction totalement differente donc j'ai fait des recherche sur internet et j'ai reussi a faire cela mais j'ignorais ce genre de subtiliter. Apres cest vrai que j'aurais aimee optimiser encore plus mon programme et je l'avais imaginee autrement mais je n'e ai pas les capacités.
merci encore
Cordialement
lulu
Tout d'abbord merci en tout cas pour l'efficaciter !
Donc si j'ai bien compris les modifications en .value fonctionneraient ?
Et j'ai bien conscience que mon code est un peu maladroit mais avant j'avais aucune notion de code hormis quelque cours que j'avais eu en DUT et cetait sur libre office donc le principe est a peu pres le meme mais la redaction totalement differente donc j'ai fait des recherche sur internet et j'ai reussi a faire cela mais j'ignorais ce genre de subtiliter. Apres cest vrai que j'aurais aimee optimiser encore plus mon programme et je l'avais imaginee autrement mais je n'e ai pas les capacités.
merci encore
Cordialement
lulu
lulu74500
Messages postés
6
Date d'inscription
mercredi 23 avril 2014
Statut
Membre
Dernière intervention
28 avril 2014
24 avril 2014 à 08:18
24 avril 2014 à 08:18
Bonjour
Tout d'abbord merci en tout cas pour l'efficaciter !
Donc si j'ai bien compris les modifications en .value fonctionneraient ?
Et j'ai bien conscience que mon code est un peu maladroit mais avant j'avais aucune notion de code hormis quelque cours que j'avais eu en DUT et cetait sur libre office donc le principe est a peu pres le meme mais la redaction totalement differente donc j'ai fait des recherche sur internet et j'ai reussi a faire cela mais j'ignorais ce genre de subtiliter. Apres cest vrai que j'aurais aimee optimiser encore plus mon programme et je l'avais imaginee autrement mais je n'e ai pas les capacités.
merci encore
Cordialement
lulu
Tout d'abbord merci en tout cas pour l'efficaciter !
Donc si j'ai bien compris les modifications en .value fonctionneraient ?
Et j'ai bien conscience que mon code est un peu maladroit mais avant j'avais aucune notion de code hormis quelque cours que j'avais eu en DUT et cetait sur libre office donc le principe est a peu pres le meme mais la redaction totalement differente donc j'ai fait des recherche sur internet et j'ai reussi a faire cela mais j'ignorais ce genre de subtiliter. Apres cest vrai que j'aurais aimee optimiser encore plus mon programme et je l'avais imaginee autrement mais je n'e ai pas les capacités.
merci encore
Cordialement
lulu
lulu74500
Messages postés
6
Date d'inscription
mercredi 23 avril 2014
Statut
Membre
Dernière intervention
28 avril 2014
24 avril 2014 à 08:18
24 avril 2014 à 08:18
Bonjour
Tout d'abbord merci en tout cas pour l'efficaciter !
Donc si j'ai bien compris les modifications en .value fonctionneraient ?
Et j'ai bien conscience que mon code est un peu maladroit mais avant j'avais aucune notion de code hormis quelque cours que j'avais eu en DUT et cetait sur libre office donc le principe est a peu pres le meme mais la redaction totalement differente donc j'ai fait des recherche sur internet et j'ai reussi a faire cela mais j'ignorais ce genre de subtiliter. Apres cest vrai que j'aurais aimee optimiser encore plus mon programme et je l'avais imaginee autrement mais je n'e ai pas les capacités.
merci encore
Cordialement
lulu
Tout d'abbord merci en tout cas pour l'efficaciter !
Donc si j'ai bien compris les modifications en .value fonctionneraient ?
Et j'ai bien conscience que mon code est un peu maladroit mais avant j'avais aucune notion de code hormis quelque cours que j'avais eu en DUT et cetait sur libre office donc le principe est a peu pres le meme mais la redaction totalement differente donc j'ai fait des recherche sur internet et j'ai reussi a faire cela mais j'ignorais ce genre de subtiliter. Apres cest vrai que j'aurais aimee optimiser encore plus mon programme et je l'avais imaginee autrement mais je n'e ai pas les capacités.
merci encore
Cordialement
lulu
ccm81
Messages postés
10900
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
2 novembre 2024
2 425
24 avril 2014 à 11:25
24 avril 2014 à 11:25
1. Donc si j'ai bien compris les modifications en .value fonctionneraient ?
Oui,
Range(cellule).Value renvoie la valeur contenue dans la cellule, et apparemment, c'est ce que tu veux
2. lors de tes déclarations de variables, il te faut indiquer pour chacune d'elle son type
dim a as long, b as long
et non
dim a, b as long
qui n'attribue le type long qu'à la variable b, et a est alors de type Variant
3. Je ne pourrais pas faire grand chose de plus pour toi, mon vieil excel 2003 refuse de sauvegarder ton fichier une fois modifier
Cordialement
Oui,
Range(cellule).Value renvoie la valeur contenue dans la cellule, et apparemment, c'est ce que tu veux
2. lors de tes déclarations de variables, il te faut indiquer pour chacune d'elle son type
dim a as long, b as long
et non
dim a, b as long
qui n'attribue le type long qu'à la variable b, et a est alors de type Variant
3. Je ne pourrais pas faire grand chose de plus pour toi, mon vieil excel 2003 refuse de sauvegarder ton fichier une fois modifier
Cordialement
23 avril 2014 à 14:40
Total= var1 +var2 +var3 ...
Sachant que toute mes variable sont declarer en tant que currency et que jai essayer single et double.
Merci de votre reponse en tout cas !