OVH Cloud OVH Cloud

ARRAY somme

4 réponses
Avatar
fleury.fontaine
Bonjour à tous

Quelqu'un peut-il me donner l'astuce pour me restituer de C3 à C12 (en
utilisant les tableaux) la somme de deux autres tableaux. Mes connaissances
dans ce domaine sont insuffisantes pour comprendre les explications sur le
site..
Ci dessous voici le code que j'ai tenté d'écrire en me faisant "jeter" pour
incompatibilité de type..
Entre les points d'interrogation c'est la que ça bloque. Il faut dire que je
ne me faisais pas grande illusion !
Merci pour le coup de main..
Cordialement à tous, Michel

Sub essai()
Dim Arr1() As Variant, Arr2() As Variant
Range("C3:C12").ClearContents

Arr1 = Range("A3:A12")
Arr2 = Range("B3:B12")
'???? Range("C3:C12").Value = Arr1 + Arr2 ???

End Sub

4 réponses

Avatar
papou
Bonjour
Sub ZyVa()
Dim TablA As Variant
Dim TablB As Variant
TablA = Application.Transpose(Range("A3:A12"))
TablB = Application.Transpose(Range("B3:B12"))
For i = 1 To 10
Range("C" & i + 2).Value = TablA(i) + TablB(i)
Next i
End Sub

Cordialement
Pascal

"fleury.fontaine" a écrit dans le message de
news: 446f4655$0$29203$
Bonjour à tous

Quelqu'un peut-il me donner l'astuce pour me restituer de C3 à C12 (en
utilisant les tableaux) la somme de deux autres tableaux. Mes
connaissances
dans ce domaine sont insuffisantes pour comprendre les explications sur
le
site..
Ci dessous voici le code que j'ai tenté d'écrire en me faisant "jeter"
pour
incompatibilité de type..
Entre les points d'interrogation c'est la que ça bloque. Il faut dire que
je
ne me faisais pas grande illusion !
Merci pour le coup de main..
Cordialement à tous, Michel

Sub essai()
Dim Arr1() As Variant, Arr2() As Variant
Range("C3:C12").ClearContents

Arr1 = Range("A3:A12")
Arr2 = Range("B3:B12")
'???? Range("C3:C12").Value = Arr1 + Arr2 ???

End Sub




Avatar
JB
Bonsoir,


For i = 1 To 10
Range("C3:C12")(i) = Range("A3:A12")(i) + Range("B3:B12")(i)
Next i

Cordialement JB
Avatar
fleury.fontaine
Merci,

Je ne pensais pas que le "transpose" s'appliquait à mon problème puisque
tous les exemples
lus consistaient à multiplier les éléments d'un tableau par une valeur.
Je vais essayer de me débrouiller avec cela car en fait je vous ai soumis un
cas d'école simple pour ne pas faire trop long !
En fait je cherche à additionner (en VBA) les plages de cellules de même
adresse d'une feuille de plusieurs classeurs et de récupérer le résultat sur
un classeur récapitulatif dont l'ouverture déclenche la récupération de ces
données aprés détections des noms de ces fichiers. C'est simple a envisager
mais pas facile de l'expliquer sur un news group. Pour couronner le tout,
ces plages de cellules ne sont pas contiguës. Donc je m'attends à rencontrer
quelques problèmes avec la boucle...
Nous verrons bien je vais essayer d'adapter quelque chose à partir de la
solution que vous me proposez.
Grand merci pour votre aide précieuse.
Cordialement,

Michel


"papou" <cestpasbon@çanonplus44.fr> a écrit dans le message de news:

Bonjour
Sub ZyVa()
Dim TablA As Variant
Dim TablB As Variant
TablA = Application.Transpose(Range("A3:A12"))
TablB = Application.Transpose(Range("B3:B12"))
For i = 1 To 10
Range("C" & i + 2).Value = TablA(i) + TablB(i)
Next i
End Sub

Cordialement
Pascal

"fleury.fontaine" a écrit dans le message de
news: 446f4655$0$29203$
Bonjour à tous

Quelqu'un peut-il me donner l'astuce pour me restituer de C3 à C12 (en
utilisant les tableaux) la somme de deux autres tableaux. Mes
connaissances
dans ce domaine sont insuffisantes pour comprendre les explications sur
le
site..
Ci dessous voici le code que j'ai tenté d'écrire en me faisant "jeter"
pour
incompatibilité de type..
Entre les points d'interrogation c'est la que ça bloque. Il faut dire
que


je
ne me faisais pas grande illusion !
Merci pour le coup de main..
Cordialement à tous, Michel

Sub essai()
Dim Arr1() As Variant, Arr2() As Variant
Range("C3:C12").ClearContents

Arr1 = Range("A3:A12")
Arr2 = Range("B3:B12")
'???? Range("C3:C12").Value = Arr1 + Arr2 ???

End Sub








Avatar
fleury.fontaine
Merci pour votre aide...

Merci,

Je vais essayer de me débrouiller avec cela car en fait je vous ai soumis un
cas d'école simple pour ne pas faire trop long !
En fait je cherche à additionner (en VBA) les plages de cellules de même
adresse d'une feuille de plusieurs classeurs et de récupérer le résultat sur
un classeur récapitulatif dont l'ouverture déclenche la récupération de ces
données aprés détections des noms de ces fichiers.

Un peu comme si je mettait dans chaque cellule du classeu
=SOMME([Classeur1]'Feuille1!A1;[Classeur2]'Feuille1!A1) sauf que je ne
connais pas encore le nom de ces [Classeurs] car ces noms sont fonction du
contenu de certaines de leur cellules, de plus ils sont sensés faire leur
apparition plus tard.
Ma stratégie est facile à envisager mais pas facile à expliquer sur un news
group. Pour couronner le tout, ces plages de cellules ne sont pas contiguës.
Donc je m'attends à rencontrer quelques problèmes avec la boucle...
Nous verrons bien je vais essayer d'adapter quelque chose à partir de la
solution que vous me proposez.
Grand merci pour votre aide précieuse.
Cordialement,

Michel





Cordialement,

Michel

"JB" a écrit dans le message de news:

Bonsoir,


For i = 1 To 10
Range("C3:C12")(i) = Range("A3:A12")(i) + Range("B3:B12")(i)
Next i

Cordialement JB