Double somme des éléments d'une matrice élevée au carrée
Résolu
longnight
Messages postés
3
Date d'inscription
Statut
Membre
Dernière intervention
-
longnight Messages postés 3 Date d'inscription Statut Membre Dernière intervention -
longnight Messages postés 3 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je suis novice en vba et j'aurais s'il vous plait besoin de votre aide sur le problème suivant :
j'ai deux matrices X et Y qui représentent les coordonnées des points (x,y)
je voudrais faire une double somme des cellules de chaque matrice et sommer le résultat des 2 sommes je m'explique sur la matrice X je dois d'abord élever au carré chaque cellule de la matrice puis les multiplier par un coefficient "s" et ensuite faire la somme de chaque ligne de la matrice et obtenir un total "Tot1"
idem pour la matrice Y avec le même coefficient "s" et obtenir un total "Tot2"
par la suite je dois sommer Tot 1 et tot 2 et obtenir la somme finale que je range dans une autre cellule.
Voici un code que j'ai essayé de faire mais il ne marche pas
En espérant être assez clair, je vous remercie d'avance de l'aide que vous m'apporterez
cordialement
je suis novice en vba et j'aurais s'il vous plait besoin de votre aide sur le problème suivant :
j'ai deux matrices X et Y qui représentent les coordonnées des points (x,y)
je voudrais faire une double somme des cellules de chaque matrice et sommer le résultat des 2 sommes je m'explique sur la matrice X je dois d'abord élever au carré chaque cellule de la matrice puis les multiplier par un coefficient "s" et ensuite faire la somme de chaque ligne de la matrice et obtenir un total "Tot1"
idem pour la matrice Y avec le même coefficient "s" et obtenir un total "Tot2"
par la suite je dois sommer Tot 1 et tot 2 et obtenir la somme finale que je range dans une autre cellule.
Voici un code que j'ai essayé de faire mais il ne marche pas
Dim linX As Integer Dim ColX As Integer Dim linY As Integer Dim ColY As Integer Dim Tot1 As Double, Dim Tot2 As Double, i As Long, j As Long, k As Long, l As Long linY = 2 ColY = 3 linX = 3 ColX = 2 Tot1 = 0 Tot2 = 0 s = Range("A5").Value ' position de la matrice Y For k = 7 To linY + 13 For l = 10 To ColY + 13 Tot1 = Application.WorksheetFunction.SumProduct((Cells(i, j) ^ 2) * s+ Tot1) " LE probleme est à ce niveau et je ne sais pas quelle formule utiliser" Next Next 'position de la matrice X sur la feuille For i = 7 To linX + 7 For j = 3 To ColX + 7 ' éléve la cellule (i,j) au carré puis multiplie le résultat par s et fait la somme des lignes de la matrice Tot2 = Application.WorksheetFunction.SumProduct((Cells(i, j) ^ 2) * s + Tot2) Next Next range ("A1")= Tot1+Tot2 End Sub
En espérant être assez clair, je vous remercie d'avance de l'aide que vous m'apporterez
cordialement
EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI Merci d'y penser dans tes prochains messages. |
A voir également:
- Double somme des éléments d'une matrice élevée au carrée
- Double ecran - Guide
- Whatsapp double sim - Guide
- Formule somme excel colonne - Guide
- Double driver - Télécharger - Pilotes & Matériel
- Somme si couleur - Guide
1 réponse
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour, peux-tu poster ton code en utilisant la coloration syntaxique?
"il ne marche pas": message d'erreur, résultat inattendu, ?
as-tu essayé:
"il ne marche pas": message d'erreur, résultat inattendu, ?
as-tu essayé:
Tot1 = Tot1 + Cells(i, j) ^ 2 * s
merci pour le temps que tu prends pour m'aider à resoudre mon problème
la somme de mon code renvoit 0
.
j'ai aussi essyé celui que tu m'a ecrit il renvoit également 0.
tu avais écrit "LE probleme est à ce niveau et je ne sais pas quelle formule utiliser". ceci est maintenant résolu.
ajoute "option explicit" en début de module.
je te conseille de bien réfléchir à ton code:
- à quoi correspondent les 4 variables lin et col?
- d'où viennent les valeurs que tu mets dans tes boucles for?