IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

pb d'incompatibilité de type dans une macro "somme"


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Femme Profil pro
    etudiant en gestion
    Inscrit en
    Juin 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : etudiant en gestion
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2011
    Messages : 5
    Par défaut pb d'incompatibilité de type dans une macro "somme"
    Bonjour,
    je dois faire la somme de plusieurs cellules, toutes séparées entre elles de 6colonnes (la première cellule à sommer est en colonne H soit 8 en Vba) Cette somme doit être la valeur de la cellule B6. Voilà ce que j'ai déjà réalisé.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub somme()
     
    Dim J As Integer 'j colonne
    Dim s As Integer 'la somme
    J = 8
    s = 0
     
        For J = 8 To 2114 Step 6
            s = s + Cells(6, J)
        Next J
     
        Cells(6, 2).Value = s
     
    End Sub

    Petit problème : il y a une incompatibilité de type et je ne sais pas ce que ca veut dire.

  2. #2
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 132
    Par défaut
    Salut
    Peut être
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  3. #3
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 122
    Par défaut
    Salut
    Voir même
    Si tu as des nombres à virgules.
    Si ton problème n'est pas résolu, dis nous ce que contiennent tes cellules et sur quelle ligne l'erreur survient.

    Pour info
    Ces 2 lignes sont inutiles, toutes les variables sont initialisées à 0 lors de leur création et la boucle For commence à sa 1ère borne, ici à 8.

    ++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  4. #4
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Bonsoir à tous
    Une proposition en utilisant les fonctions d'excel (soit directement, soit par traduction en vba)

    Par formule en B2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SOMMEPROD((MOD(LIGNE(H8:H21140);6)=2)*(H8:H2114))
    Ou par code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Sub MonTest()
     
    Sheets("Feuil1").Range("B2") = Evaluate("SUMPRODUCT((MOD(ROW(H8:H2114),6)=2)*(H8:H2114))")
    End Sub

  5. #5
    Nouveau membre du Club
    Femme Profil pro
    etudiant en gestion
    Inscrit en
    Juin 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : etudiant en gestion
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2011
    Messages : 5
    Par défaut
    Merci à vous pour toutes ces précieuses informations !

    Que ce soit single ou double, cela ne fonctionne pas cela marque toujours qu'il y a une incompatibilité de type...
    Voilà les quelques valeurs dont il faut calculer la somme : 790,0 716,0 486,0 631,0
    Mais il faut savoir que mon calcul doit se faire automatiquement si on insère des colonnes !


    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
    Private Sub Commandbutton6_Click()
        somme
    End Sub
     
    Sub somme()
    Dim J As Integer 'j colonnes
    Dim s As Double 'la somme
     
        For J = 8 To 10000 Step 5 'cest bien séparé de 5colonnes !
            s = s + Cells(6, J)
        Next J
     
    Cells(6, 2).Value = s
     
    End Sub
    Mercatog j'ai essayé tes formules, mais cela ne semble pas correspondre à ce que je cherche ! Dommage, parce que s'il y avait une possibilité de calcul sous excel cela m'aurait évité bien des prises de tête !
    Je te remercie malgré tout pour ton aide.

  6. #6
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 122
    Par défaut
    Salut
    Ha ben oui, c'est a cause de la virgule, tu trouveras plein de sujets à ce propos, en faite le format numérique fait que le séparateur décimal des fois c'est un point, des fois une virgule... ça dépend du pc et de la version linguistique d'excel. Tu trouveras des réponses sur le forum.
    ++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

Discussions similaires

  1. Réponses: 0
    Dernier message: 16/05/2014, 12h24
  2. Incompatibilité de type dans une déclaration de worksheets
    Par laurent_42 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 04/04/2014, 16h32
  3. "Incompatibilité de type" dans une formule
    Par Log_polmed dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 19/06/2007, 15h03
  4. "Différence de type dans une expression" Tquery
    Par Hakim dans le forum Bases de données
    Réponses: 3
    Dernier message: 20/04/2004, 00h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo