Bonjour
A1:A5 représente une plage verticale de 5 cel en colone A
A1:E1 représente une plage horizontale de 5 cel en ligne 1
A1:E5 représente une plage carrée de 25 cel
Question:
Existe-t-il un moyen d'écrire une plage de 5 cel en diagonale (exemple
(A1:H5) mais où les cel concernées seraient A1+B2+C3+D4+E5 ?
Merci
--
Bien amicalmement,
Vivement conseillés:
http://www.excelabo.net
http://jacxl.free.fr/mpfe/trombino.html
http://dj.joss.free.fr/netiquet.htm
Jacquouille.
-- Au plaisir de vous revoir ... Visitez >> http://www.excelabo.net Le merveilleux site de Misange Starwing
--
denis P
bonjour A tu regardé de coter d' "Areas"..... je ne sais pas si cela peut te rendre service....
denis p.
'''''''''''' Dim plage Set plage = Range("a1,b2,c3,d5,e6") MsgBox plage.Areas.Count For Each singleArea In plage.Areas MsgBox singleArea.Value Next End If ''''''''''''''''''''''''''''''''''''''''''''''''''''''''
"Jacquouille" a écrit dans le message de news:
Bonjour A1:A5 représente une plage verticale de 5 cel en colone A A1:E1 représente une plage horizontale de 5 cel en ligne 1 A1:E5 représente une plage carrée de 25 cel Question: Existe-t-il un moyen d'écrire une plage de 5 cel en diagonale (exemple (A1:H5) mais où les cel concernées seraient A1+B2+C3+D4+E5 ? Merci -- Bien amicalmement, Vivement conseillés: http://www.excelabo.net http://jacxl.free.fr/mpfe/trombino.html http://dj.joss.free.fr/netiquet.htm Jacquouille.
bonjour
A tu regardé de coter d' "Areas".....
je ne sais pas si cela peut te rendre service....
denis p.
''''''''''''
Dim plage
Set plage = Range("a1,b2,c3,d5,e6")
MsgBox plage.Areas.Count
For Each singleArea In plage.Areas
MsgBox singleArea.Value
Next
End If
''''''''''''''''''''''''''''''''''''''''''''''''''''''''
"Jacquouille" <NoSpam_j.thiernesse@skynet.be> a écrit dans le message de
news:unsB4fhCFHA.3924@TK2MSFTNGP15.phx.gbl...
Bonjour
A1:A5 représente une plage verticale de 5 cel en colone A
A1:E1 représente une plage horizontale de 5 cel en ligne 1
A1:E5 représente une plage carrée de 25 cel
Question:
Existe-t-il un moyen d'écrire une plage de 5 cel en diagonale (exemple
(A1:H5) mais où les cel concernées seraient A1+B2+C3+D4+E5 ?
Merci
--
Bien amicalmement,
Vivement conseillés:
http://www.excelabo.net
http://jacxl.free.fr/mpfe/trombino.html
http://dj.joss.free.fr/netiquet.htm
Jacquouille.
bonjour A tu regardé de coter d' "Areas"..... je ne sais pas si cela peut te rendre service....
denis p.
'''''''''''' Dim plage Set plage = Range("a1,b2,c3,d5,e6") MsgBox plage.Areas.Count For Each singleArea In plage.Areas MsgBox singleArea.Value Next End If ''''''''''''''''''''''''''''''''''''''''''''''''''''''''
"Jacquouille" a écrit dans le message de news:
Bonjour A1:A5 représente une plage verticale de 5 cel en colone A A1:E1 représente une plage horizontale de 5 cel en ligne 1 A1:E5 représente une plage carrée de 25 cel Question: Existe-t-il un moyen d'écrire une plage de 5 cel en diagonale (exemple (A1:H5) mais où les cel concernées seraient A1+B2+C3+D4+E5 ? Merci -- Bien amicalmement, Vivement conseillés: http://www.excelabo.net http://jacxl.free.fr/mpfe/trombino.html http://dj.joss.free.fr/netiquet.htm Jacquouille.
Jacquouille
Bonsoir Tant qu'à user, pourquoi ne pas abuser? -)) Et pour l'autre diagonale? ¥+b4+c3+d2+e1 ? Un grand merci et bonne soirée
-- Bien amicalmement, Vivement conseillés: http://www.excelabo.net http://jacxl.free.fr/mpfe/trombino.html http://dj.joss.free.fr/netiquet.htm Jacquouille.
"Starwing" a écrit dans le message de news:
Essaie ça:
=SOMMEPROD(A1:E5*(LIGNE(A1:E5)=COLONNE(A1:E5)))
-- Au plaisir de vous revoir ... Visitez >> http://www.excelabo.net Le merveilleux site de Misange Starwing
--
Bonsoir
Tant qu'à user, pourquoi ne pas abuser? -))
Et pour l'autre diagonale?
¥+b4+c3+d2+e1 ?
Un grand merci et bonne soirée
--
Bien amicalmement,
Vivement conseillés:
http://www.excelabo.net
http://jacxl.free.fr/mpfe/trombino.html
http://dj.joss.free.fr/netiquet.htm
Jacquouille.
"Starwing" <NoMail@NoMail.Niet> a écrit dans le message de news:
Ow5KAwhCFHA.2180@TK2MSFTNGP12.phx.gbl...
Essaie ça:
=SOMMEPROD(A1:E5*(LIGNE(A1:E5)=COLONNE(A1:E5)))
--
Au plaisir de vous revoir ...
Visitez >> http://www.excelabo.net
Le merveilleux site de Misange
Starwing
brault-lavoieNOSPAM@sympatico.ca
--
Bonsoir Tant qu'à user, pourquoi ne pas abuser? -)) Et pour l'autre diagonale? ¥+b4+c3+d2+e1 ? Un grand merci et bonne soirée
-- Bien amicalmement, Vivement conseillés: http://www.excelabo.net http://jacxl.free.fr/mpfe/trombino.html http://dj.joss.free.fr/netiquet.htm Jacquouille.
"Starwing" a écrit dans le message de news:
Essaie ça:
=SOMMEPROD(A1:E5*(LIGNE(A1:E5)=COLONNE(A1:E5)))
-- Au plaisir de vous revoir ... Visitez >> http://www.excelabo.net Le merveilleux site de Misange Starwing
--
Jacquouille
Bonsoir Denis Ce n'est pas à proprement parler une somme que je veux faire, mais (en VBA) un contrôle pour voir si toutes les cel de la diagonale sont bien vides. donc, les deux diagonales : a1,b2,c3,d4 et e5 et a5,b4,c3,d2 et e1 Merci pour cet excellent début de piste toute chaude. -) Jacques, qui se souvient du jeu de dames, où les diagonales travaillaient.
-- Bien amicalmement, Vivement conseillés: http://www.excelabo.net http://jacxl.free.fr/mpfe/trombino.html http://dj.joss.free.fr/netiquet.htm Jacquouille.
"denis P" a écrit dans le message de news: e88jX$
bonjour A tu regardé de coter d' "Areas"..... je ne sais pas si cela peut te rendre service....
denis p.
'''''''''''' Dim plage Set plage = Range("a1,b2,c3,d5,e6") MsgBox plage.Areas.Count For Each singleArea In plage.Areas MsgBox singleArea.Value Next End If ''''''''''''''''''''''''''''''''''''''''''''''''''''''''
"Jacquouille" a écrit dans le message de news:
Bonjour A1:A5 représente une plage verticale de 5 cel en colone A A1:E1 représente une plage horizontale de 5 cel en ligne 1 A1:E5 représente une plage carrée de 25 cel Question: Existe-t-il un moyen d'écrire une plage de 5 cel en diagonale (exemple (A1:H5) mais où les cel concernées seraient A1+B2+C3+D4+E5 ? Merci -- Bien amicalmement, Vivement conseillés: http://www.excelabo.net http://jacxl.free.fr/mpfe/trombino.html http://dj.joss.free.fr/netiquet.htm Jacquouille.
Bonsoir Denis
Ce n'est pas à proprement parler une somme que je veux faire, mais (en VBA)
un contrôle pour voir si toutes les cel de la diagonale sont bien vides.
donc, les deux diagonales : a1,b2,c3,d4 et e5
et a5,b4,c3,d2 et e1
Merci pour cet excellent début de piste toute chaude. -)
Jacques, qui se souvient du jeu de dames, où les diagonales travaillaient.
--
Bien amicalmement,
Vivement conseillés:
http://www.excelabo.net
http://jacxl.free.fr/mpfe/trombino.html
http://dj.joss.free.fr/netiquet.htm
Jacquouille.
"denis P" <dede@spam.toto.ch> a écrit dans le message de news:
e88jX$hCFHA.1392@tk2msftngp13.phx.gbl...
bonjour
A tu regardé de coter d' "Areas".....
je ne sais pas si cela peut te rendre service....
denis p.
''''''''''''
Dim plage
Set plage = Range("a1,b2,c3,d5,e6")
MsgBox plage.Areas.Count
For Each singleArea In plage.Areas
MsgBox singleArea.Value
Next
End If
''''''''''''''''''''''''''''''''''''''''''''''''''''''''
"Jacquouille" <NoSpam_j.thiernesse@skynet.be> a écrit dans le message de
news:unsB4fhCFHA.3924@TK2MSFTNGP15.phx.gbl...
Bonjour
A1:A5 représente une plage verticale de 5 cel en colone A
A1:E1 représente une plage horizontale de 5 cel en ligne 1
A1:E5 représente une plage carrée de 25 cel
Question:
Existe-t-il un moyen d'écrire une plage de 5 cel en diagonale (exemple
(A1:H5) mais où les cel concernées seraient A1+B2+C3+D4+E5 ?
Merci
--
Bien amicalmement,
Vivement conseillés:
http://www.excelabo.net
http://jacxl.free.fr/mpfe/trombino.html
http://dj.joss.free.fr/netiquet.htm
Jacquouille.
Bonsoir Denis Ce n'est pas à proprement parler une somme que je veux faire, mais (en VBA) un contrôle pour voir si toutes les cel de la diagonale sont bien vides. donc, les deux diagonales : a1,b2,c3,d4 et e5 et a5,b4,c3,d2 et e1 Merci pour cet excellent début de piste toute chaude. -) Jacques, qui se souvient du jeu de dames, où les diagonales travaillaient.
-- Bien amicalmement, Vivement conseillés: http://www.excelabo.net http://jacxl.free.fr/mpfe/trombino.html http://dj.joss.free.fr/netiquet.htm Jacquouille.
"denis P" a écrit dans le message de news: e88jX$
bonjour A tu regardé de coter d' "Areas"..... je ne sais pas si cela peut te rendre service....
denis p.
'''''''''''' Dim plage Set plage = Range("a1,b2,c3,d5,e6") MsgBox plage.Areas.Count For Each singleArea In plage.Areas MsgBox singleArea.Value Next End If ''''''''''''''''''''''''''''''''''''''''''''''''''''''''
"Jacquouille" a écrit dans le message de news:
Bonjour A1:A5 représente une plage verticale de 5 cel en colone A A1:E1 représente une plage horizontale de 5 cel en ligne 1 A1:E5 représente une plage carrée de 25 cel Question: Existe-t-il un moyen d'écrire une plage de 5 cel en diagonale (exemple (A1:H5) mais où les cel concernées seraient A1+B2+C3+D4+E5 ? Merci -- Bien amicalmement, Vivement conseillés: http://www.excelabo.net http://jacxl.free.fr/mpfe/trombino.html http://dj.joss.free.fr/netiquet.htm Jacquouille.
Starwing
=SOMMEPROD((LIGNE(A1:E5)+COLONNE(A1:E5)=6)*A1:E5)
-- Au plaisir de vous revoir ... Visitez >> http://www.excelabo.net Le merveilleux site de Misange Starwing
-- "Jacquouille" a écrit dans le message de news:
Bonsoir Tant qu'à user, pourquoi ne pas abuser? -)) Et pour l'autre diagonale? ¥+b4+c3+d2+e1 ? Un grand merci et bonne soirée
-- Bien amicalmement, Vivement conseillés: http://www.excelabo.net http://jacxl.free.fr/mpfe/trombino.html http://dj.joss.free.fr/netiquet.htm Jacquouille.
"Starwing" a écrit dans le message de news:
Essaie ça:
=SOMMEPROD(A1:E5*(LIGNE(A1:E5)=COLONNE(A1:E5)))
-- Au plaisir de vous revoir ... Visitez >> http://www.excelabo.net Le merveilleux site de Misange Starwing
--
=SOMMEPROD((LIGNE(A1:E5)+COLONNE(A1:E5)=6)*A1:E5)
--
Au plaisir de vous revoir ...
Visitez >> http://www.excelabo.net
Le merveilleux site de Misange
Starwing
brault-lavoieNOSPAM@sympatico.ca
--
"Jacquouille" <NoSpam_j.thiernesse@skynet.be> a écrit dans le message de
news:OFaWcHiCFHA.2180@TK2MSFTNGP10.phx.gbl...
Bonsoir
Tant qu'à user, pourquoi ne pas abuser? -))
Et pour l'autre diagonale?
¥+b4+c3+d2+e1 ?
Un grand merci et bonne soirée
--
Bien amicalmement,
Vivement conseillés:
http://www.excelabo.net
http://jacxl.free.fr/mpfe/trombino.html
http://dj.joss.free.fr/netiquet.htm
Jacquouille.
"Starwing" <NoMail@NoMail.Niet> a écrit dans le message de news:
Ow5KAwhCFHA.2180@TK2MSFTNGP12.phx.gbl...
Essaie ça:
=SOMMEPROD(A1:E5*(LIGNE(A1:E5)=COLONNE(A1:E5)))
--
Au plaisir de vous revoir ...
Visitez >> http://www.excelabo.net
Le merveilleux site de Misange
Starwing
brault-lavoieNOSPAM@sympatico.ca
--
Ce n'est pas à proprement parler une somme que je veux faire, mais (en VBA)
un contrôle pour voir si toutes les cel de la diagonale sont bien vides.
Alors que dirais-tu d'une matrice diagonale qui calcule la somme des deux diagonales? Comme cela, si elle renvoie >0, alors elle est non vide.
=SOMME(DECALER(A1;0;LIGNE(1:1)-1):E5)
-- Au plaisir de vous revoir ... Visitez >> http://www.excelabo.net Le merveilleux site de Misange Starwing
--
Jacquouille
Bonsoir L'idée est géniale....mais me fait simplement somme(a1:e5) ?????? càd la somme des 25 cel. -))) Un grand merci quand même pour ta patience car l'idée est géniale PS nbvcal ne serait pas mieux, car si cel= txt?
-- Bien amicalmement, Vivement conseillés: http://www.excelabo.net http://jacxl.free.fr/mpfe/trombino.html http://dj.joss.free.fr/netiquet.htm Jacquouille.
"Starwing" a écrit dans le message de news:
Ce n'est pas à proprement parler une somme que je veux faire, mais (en VBA)
un contrôle pour voir si toutes les cel de la diagonale sont bien vides.
Alors que dirais-tu d'une matrice diagonale qui calcule la somme des deux diagonales? Comme cela, si elle renvoie >0, alors elle est non vide.
=SOMME(DECALER(A1;0;LIGNE(1:1)-1):E5)
-- Au plaisir de vous revoir ... Visitez >> http://www.excelabo.net Le merveilleux site de Misange Starwing
--
Bonsoir
L'idée est géniale....mais me fait simplement somme(a1:e5) ?????? càd la
somme des 25 cel. -)))
Un grand merci quand même pour ta patience car l'idée est géniale
PS nbvcal ne serait pas mieux, car si cel= txt?
--
Bien amicalmement,
Vivement conseillés:
http://www.excelabo.net
http://jacxl.free.fr/mpfe/trombino.html
http://dj.joss.free.fr/netiquet.htm
Jacquouille.
"Starwing" <NoMail@NoMail.Niet> a écrit dans le message de news:
uy4kDPiCFHA.3492@TK2MSFTNGP12.phx.gbl...
Ce n'est pas à proprement parler une somme que je veux faire, mais (en
VBA)
un contrôle pour voir si toutes les cel de la diagonale sont bien vides.
Alors que dirais-tu d'une matrice diagonale qui calcule la somme des deux
diagonales? Comme cela, si elle renvoie >0, alors elle est non vide.
=SOMME(DECALER(A1;0;LIGNE(1:1)-1):E5)
--
Au plaisir de vous revoir ...
Visitez >> http://www.excelabo.net
Le merveilleux site de Misange
Starwing
brault-lavoieNOSPAM@sympatico.ca
--
Bonsoir L'idée est géniale....mais me fait simplement somme(a1:e5) ?????? càd la somme des 25 cel. -))) Un grand merci quand même pour ta patience car l'idée est géniale PS nbvcal ne serait pas mieux, car si cel= txt?
-- Bien amicalmement, Vivement conseillés: http://www.excelabo.net http://jacxl.free.fr/mpfe/trombino.html http://dj.joss.free.fr/netiquet.htm Jacquouille.
"Starwing" a écrit dans le message de news:
Ce n'est pas à proprement parler une somme que je veux faire, mais (en VBA)
un contrôle pour voir si toutes les cel de la diagonale sont bien vides.
Alors que dirais-tu d'une matrice diagonale qui calcule la somme des deux diagonales? Comme cela, si elle renvoie >0, alors elle est non vide.
=SOMME(DECALER(A1;0;LIGNE(1:1)-1):E5)
-- Au plaisir de vous revoir ... Visitez >> http://www.excelabo.net Le merveilleux site de Misange Starwing
--
GD
Bonsour® Jacquouille, alors cela te conviendrait une petite fonction personnalisée????
vite faite(tests non exhaustifs) on considere : une matrice carrée de dimension D et d'origine O un Sens H-horizontal, V-Verticale ou D-Diagonal (descendant )ou M-Montant exemple : SomX(Origine,Dimension,Sens) =SomX(A1;5;"D") fait la somme de 5 cellules en Diagonale et commencant en A1 =SomX(C22;4;"H") fait la somme de 4 cellules Horizontales et commencant en C22 =SomX(B12;7;"montée") fait la somme de 7 cellules Diagonales Montantes et commencant en B12 (rappel la function pourra également étre appelée en VBA ;o))))
Function SomX(target, nbr As Integer, direction As String) On Error Resume Next Application.Volatile direction = UCase(Left(Trim(direction), 1)) somX = target nbr = nbr - 1 Select Case direction Case "H" For i = 1 To nbr somX = somX + target.Offset(0, i).Value Next Case "V" For i = 1 To nbr somX = somX + target.Offset(i, 0).Value Next Case "D" For i = 1 To nbr somX = somX + target.Offset(i, i).Value Next Case "M" For i = 1 To nbr somX = somX + target.Offset(-i, i).Value Next Case Else somX = Application.na() End Select End Function
@+
Bonjour A1:A5 représente une plage verticale de 5 cel en colone A A1:E1 représente une plage horizontale de 5 cel en ligne 1 A1:E5 représente une plage carrée de 25 cel Question: Existe-t-il un moyen d'écrire une plage de 5 cel en diagonale (exemple (A1:H5) mais où les cel concernées seraient A1+B2+C3+D4+E5 ? Merci
Bonsour® Jacquouille,
alors cela te conviendrait une petite fonction personnalisée????
vite faite(tests non exhaustifs)
on considere :
une matrice carrée de dimension D et d'origine O
un Sens H-horizontal, V-Verticale ou D-Diagonal (descendant )ou M-Montant
exemple : SomX(Origine,Dimension,Sens)
=SomX(A1;5;"D") fait la somme de 5 cellules en Diagonale et commencant en
A1
=SomX(C22;4;"H") fait la somme de 4 cellules Horizontales et commencant en
C22
=SomX(B12;7;"montée") fait la somme de 7 cellules Diagonales Montantes et
commencant en B12
(rappel la function pourra également étre appelée en VBA ;o))))
Function SomX(target, nbr As Integer, direction As String)
On Error Resume Next
Application.Volatile
direction = UCase(Left(Trim(direction), 1))
somX = target
nbr = nbr - 1
Select Case direction
Case "H"
For i = 1 To nbr
somX = somX + target.Offset(0, i).Value
Next
Case "V"
For i = 1 To nbr
somX = somX + target.Offset(i, 0).Value
Next
Case "D"
For i = 1 To nbr
somX = somX + target.Offset(i, i).Value
Next
Case "M"
For i = 1 To nbr
somX = somX + target.Offset(-i, i).Value
Next
Case Else
somX = Application.na()
End Select
End Function
@+
Bonjour
A1:A5 représente une plage verticale de 5 cel en colone A
A1:E1 représente une plage horizontale de 5 cel en ligne 1
A1:E5 représente une plage carrée de 25 cel
Question:
Existe-t-il un moyen d'écrire une plage de 5 cel en diagonale (exemple
(A1:H5) mais où les cel concernées seraient A1+B2+C3+D4+E5 ?
Merci
Bonsour® Jacquouille, alors cela te conviendrait une petite fonction personnalisée????
vite faite(tests non exhaustifs) on considere : une matrice carrée de dimension D et d'origine O un Sens H-horizontal, V-Verticale ou D-Diagonal (descendant )ou M-Montant exemple : SomX(Origine,Dimension,Sens) =SomX(A1;5;"D") fait la somme de 5 cellules en Diagonale et commencant en A1 =SomX(C22;4;"H") fait la somme de 4 cellules Horizontales et commencant en C22 =SomX(B12;7;"montée") fait la somme de 7 cellules Diagonales Montantes et commencant en B12 (rappel la function pourra également étre appelée en VBA ;o))))
Function SomX(target, nbr As Integer, direction As String) On Error Resume Next Application.Volatile direction = UCase(Left(Trim(direction), 1)) somX = target nbr = nbr - 1 Select Case direction Case "H" For i = 1 To nbr somX = somX + target.Offset(0, i).Value Next Case "V" For i = 1 To nbr somX = somX + target.Offset(i, 0).Value Next Case "D" For i = 1 To nbr somX = somX + target.Offset(i, i).Value Next Case "M" For i = 1 To nbr somX = somX + target.Offset(-i, i).Value Next Case Else somX = Application.na() End Select End Function
@+
Bonjour A1:A5 représente une plage verticale de 5 cel en colone A A1:E1 représente une plage horizontale de 5 cel en ligne 1 A1:E5 représente une plage carrée de 25 cel Question: Existe-t-il un moyen d'écrire une plage de 5 cel en diagonale (exemple (A1:H5) mais où les cel concernées seraient A1+B2+C3+D4+E5 ? Merci
AV
Plus prudent car résiste à un déplacement de la plage de référence :
donc, les deux diagonales : a1,b2,c3,d4 et e5 et a5,b4,c3,d2 et e1
Te casse pas la tête : Appuie sur la touche Ctrl > sélectionne toutes les cellules (plage discontinue ou pas) que tu veux contrôler > Insertion > Nom > Définir > "plg" Et ensuite :
=NBVAL(zz)
Ou (en persistant) : Matricielle : =SOMME(SI((A1:E5*(LIGNE(A1:E5)=TRANSPOSE(LIGNE(A1:E5))))>0;1))+SOMME(SI(A1:E5*(L IGNE(A1:E5)+COLONNE(A1:E5)=MIN(LIGNE(A1:E5))+MAX(COLONNE(A1:E5)))>0;1))-1
AV
donc, les deux diagonales : a1,b2,c3,d4 et e5
et a5,b4,c3,d2 et e1
Te casse pas la tête :
Appuie sur la touche Ctrl > sélectionne toutes les cellules (plage discontinue
ou pas) que tu veux contrôler > Insertion > Nom > Définir > "plg"
Et ensuite :
=NBVAL(zz)
Ou (en persistant) :
Matricielle :
=SOMME(SI((A1:E5*(LIGNE(A1:E5)=TRANSPOSE(LIGNE(A1:E5))))>0;1))+SOMME(SI(A1:E5*(L
IGNE(A1:E5)+COLONNE(A1:E5)=MIN(LIGNE(A1:E5))+MAX(COLONNE(A1:E5)))>0;1))-1
donc, les deux diagonales : a1,b2,c3,d4 et e5 et a5,b4,c3,d2 et e1
Te casse pas la tête : Appuie sur la touche Ctrl > sélectionne toutes les cellules (plage discontinue ou pas) que tu veux contrôler > Insertion > Nom > Définir > "plg" Et ensuite :
=NBVAL(zz)
Ou (en persistant) : Matricielle : =SOMME(SI((A1:E5*(LIGNE(A1:E5)=TRANSPOSE(LIGNE(A1:E5))))>0;1))+SOMME(SI(A1:E5*(L IGNE(A1:E5)+COLONNE(A1:E5)=MIN(LIGNE(A1:E5))+MAX(COLONNE(A1:E5)))>0;1))-1