Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Formule à coller dans différentes feuilles

13 réponses
Avatar
akar.serkan
Bonjour =E0 tous,

J'ai un syst=E8me qui me g=E9n=E8re diff=E9rentes feuilles dans lesquelles =
des
tableaux apparaissent. Tous les tableaux sont au m=EAme format, il peut
y avoir simplement le nombre de ligne qui change, selon le nombre de
donn=E9es.

La derni=E8re ligne du tableau repr=E9sente les totaux. Le texte "Total"
se met automatiquement =E0 la derni=E8re ligne (variable) de la premi=E8re
colonne (toujours colonne A).
Sur cette m=EAme ligne, =E0 la colonne I, je voudrais qu'une simple
formule s'incr=E9mente automatiquement. Cette cellule est toujours vide
au d=E9part.

Par exemple, si le tableau a 7 lignes ;

La cellule A7 aura automatiquement le texte "Total"
formule souhait=E9e : I7 =3D T7

Si le tableau a 16 lignes

La cellule A16 aura automatiquement le texte "Total"
formule souhait=E9e : I16 =3D T16


Ainsi de suite.. Ceci serait ma premi=E8re question

Ma deuxi=E8me question, serait de savoir s'il est possible d'effacer les
feuilles dont les tableaux sont vides.

C'est-=E0-dire que le syst=E8me va me g=E9n=E9rer certains tableaux
automatiquement m=EAme s'il n'y a pas de donn=E9e.
Donc le tableau en soit sera toujours l=E0 mais par exemple, dans la
colonne A il n'y aura pas de texte "Total" =E0 la derni=E8re ligne.
Du coup il n'y aura pas besoin d'appliquer la formule =E0 la cellule de
la derni=E8re ligne de la colonne I, il faudrait donc simplement
supprimer la feuille.

Merci beaucoup d'avance pour votre aide.

10 réponses

1 2
Avatar
akar.serkan
personne ne peut m'aider ?
Avatar
Francois L
a écrit :

Bonjour,

On doit pouvoir t'aider.... mais il faudrait quelques précisions.


>
Par exemple, si le tableau a 7 lignes ;

La cellule A7 aura automatiquement le texte "Total"
formule souhaitée : I7 = T7

Si le tableau a 16 lignes

La cellule A16 aura automatiquement le texte "Total"
formule souhaitée : I16 = T16




En colonne I, dans ton tableau, qu'y-a-t'il au départ ? rien, une
formule qui n'affiche aucun résultat ? etc.
Que doit-il y avoir en I, si il n'y a pas "Total" en A ?



Ma deuxième question, serait de savoir s'il est possible d'effacer les
feuilles dont les tableaux sont vides.

C'est-à-dire que le système va me générer certains tableaux
automatiquement même s'il n'y a pas de donnée.
Donc le tableau en soit sera toujours là mais par exemple, dans la
colonne A il n'y aura pas de texte "Total" à la dernière ligne.
Du coup il n'y aura pas besoin d'appliquer la formule à la cellule de
la dernière ligne de la colonne I, il faudrait donc simplement
supprimer la feuille.



Peut-on considérer que si "Total" n'apparait nulle part en colonne A on
peut effacer l'onglet ?

--
François L
Avatar
akar.serkan
Merci d'abord pour ton intérêt. Je vais essayer d'apporter des
précisions :


En colonne I, dans ton tableau, qu'y-a-t'il au départ ? rien, une
formule qui n'affiche aucun résultat ? etc.
Que doit-il y avoir en I, si il n'y a pas "Total" en A ?



En colonne I, il y a quelques chiffres générés par l'extraction depui s
le système, mais aucune formule. Mais dans tous les cas, la cellule de
la dernière ligne en colonne I est vide (sans formule). Elle doit être
égale à la cellule de la dernière ligne en colonne T.
S'il n'y a pas "Total" en A, il n'y aura rien en T, donc I peut rester
vide. Et même s'il n'y a pas "Total" en A, cela veut dire que l'onglet
peut être supprimé.

Peut-on considérer que si "Total" n'apparait nulle part en colonne A on
peut effacer l'onglet ?



Exactement. Si "Total" n'apparait pas en colonne A, l'onglet peut être
supprimé.


Merci d'avance pour ton aide.
Avatar
Francois L
a écrit :

Re,

Une procédure VBA à mettre dans un module standard (Alt+F11)

A tester sur une copie de ton classeur, l'effacement des feuilles est
sans appel et sans avertissement !

Sub efface_et_traite()
' Un classeur doit obligatoirement contenir au moins une feuille !
If ActiveWorkbook.Worksheets.Count = 1 Then Exit Sub
' Suppression des messages d'avertissement
Application.DisplayAlerts = False
' Balayage de toutes les feuilles...
' et effacement sans avertisement de celles
' ou le terme "total" ne figure nulle part dans la colonne A
For Each sh In ActiveWorkbook.Worksheets
derlig = sh.Range("A65432").End(xlUp).Row
If Application.WorksheetFunction.CountIf(Range("A1:A" & derlig),
"total") = 0 Then
If ActiveWorkbook.Worksheets.Count = 1 Then Exit Sub
sh.Delete
Else
' Traitement des lignes contenant "total" en colonne A
' I est égal à T
For Each c In sh.Range("A1:A" & derlig)
If UCase(c) = "TOTAL" Then
c.Offset(0, 8) = c.Offset(0, 19)
End If
Next
End If
Next
Application.DisplayAlerts = True
End Sub

--
François L

Merci d'abord pour ton intérêt. Je vais essayer d'apporter des
précisions :


En colonne I, dans ton tableau, qu'y-a-t'il au départ ? rien, une
formule qui n'affiche aucun résultat ? etc.
Que doit-il y avoir en I, si il n'y a pas "Total" en A ?



En colonne I, il y a quelques chiffres générés par l'extraction depuis
le système, mais aucune formule. Mais dans tous les cas, la cellule de
la dernière ligne en colonne I est vide (sans formule). Elle doit être
égale à la cellule de la dernière ligne en colonne T.
S'il n'y a pas "Total" en A, il n'y aura rien en T, donc I peut rester
vide. Et même s'il n'y a pas "Total" en A, cela veut dire que l'onglet
peut être supprimé.

Peut-on considérer que si "Total" n'apparait nulle part en colonne A on
peut effacer l'onglet ?



Exactement. Si "Total" n'apparait pas en colonne A, l'onglet peut être
supprimé.


Merci d'avance pour ton aide.



Avatar
akar.serkan
Merci je vais essayer..
Avatar
akar.serkan
ça a l'air de bien fonctionner merci beaucoup..

J'espère que tu pourras m'aider pour la suite aussi. Je t'explique :

Je dois faire en colonne T un calcul sur les lignes comportant un
résultat. La première ligne de résultat sera toujours la 5ème ligne et
la dernière est celle du "TOTAL"-2.
Par exemple, mes données s'inscrivent dès la ligne 5, s'arrêtent en
ligne 8. Donc la ligne "TOTAL" est en 10.

Si :
A10 = "TOTAL"
I10 = T10

T5 = (P5/$P$10)*I5
T6 = (P6/$P$10)*I6
T7 = (P7/$P$10)*I7
T8 = (P8/$P$10)*I8

T10 = Somme(T5:T8)

Si:
A8="TOTAL"
I8=T8

T5 = (P5/$P$8)*I5
T6 = (P6/$P$8)*I6

T8=Somme(T5:T7)

La complication surtout c'est donc que le nombre de ligne est
variable. Mais si en colonne A il y a "TOTAL", en P5 il y aura
forcément un résultat.

Penses-tu qu'une macro pourrait être créée ?

Merci d'avance pour ton aide. Les autres aides sont bien entendu
bienvenues :)
Avatar
Francois L
a écrit :

Re,

Avant de commencer, peut-il y avoir plusieurs fois Total dans la colonne
A ou est-ce toujours une seule fois ?

--
François L

ça a l'air de bien fonctionner merci beaucoup..

J'espère que tu pourras m'aider pour la suite aussi. Je t'explique :

Je dois faire en colonne T un calcul sur les lignes comportant un
résultat. La première ligne de résultat sera toujours la 5ème ligne et
la dernière est celle du "TOTAL"-2.
Par exemple, mes données s'inscrivent dès la ligne 5, s'arrêtent en
ligne 8. Donc la ligne "TOTAL" est en 10.

Si :
A10 = "TOTAL"
I10 = T10

T5 = (P5/$P$10)*I5
T6 = (P6/$P$10)*I6
T7 = (P7/$P$10)*I7
T8 = (P8/$P$10)*I8

T10 = Somme(T5:T8)

Si:
A8="TOTAL"
I8=T8

T5 = (P5/$P$8)*I5
T6 = (P6/$P$8)*I6

T8=Somme(T5:T7)

La complication surtout c'est donc que le nombre de ligne est
variable. Mais si en colonne A il y a "TOTAL", en P5 il y aura
forcément un résultat.

Penses-tu qu'une macro pourrait être créée ?

Merci d'avance pour ton aide. Les autres aides sont bien entendu
bienvenues :)


Avatar
akar.serkan
On Aug 14, 4:55 pm, Francois L
wrote:
a écrit :

Re,

Avant de commencer, peut-il y avoir plusieurs fois Total dans la colonne
A ou est-ce toujours une seule fois ?

--
François L



- Show quoted text -



Toujours une seule fois
Avatar
Francois L
a écrit :

Re,

OK, je te fais ca demain...

--
François L


On Aug 14, 4:55 pm, Francois L
wrote:
a écrit :

Re,

Avant de commencer, peut-il y avoir plusieurs fois Total dans la colonne
A ou est-ce toujours une seule fois ?

--
François L



- Show quoted text -



Toujours une seule fois


Avatar
akar.serkan
Merci d'avance.
1 2