Google Sheet formule quand on ne connaît pas la dernière ligne

gaston gaston
1 620 contributions
Membre depuis le 01/03/2001
Envoyé le 09/03/2023 à 11:40


Bonjour,

Je voudrais trouver comment faire une formule pour une plage de données variable, c'est-à-dire un tableau auquel on ajoute de temps en temps une ligne.
Pour les sommes, par exemple, j'utilise l'astuce qui consiste à donner à la dernière cellule un numéro de ligne très éloigné, mais là où ça se complique, c'est quand je veux utiliser une formule du type NB.VIDE.
carpe diem
Bipbipcoyote Bipbipcoyote
4 312 contributions
Membre depuis le 06/03/2001
Envoyé le 09/03/2023 à 14:01 Modifié par Bipbipcoyote


Bonjour,
Une idée... Nommer la plage de cellules quand on ajoute une ligne, il suffit de modifier l'adresse
Démo en vidéo

sinon plus alambiqué Il y a ceci
Visitez mon Site Google est mon ami, il répond mieux que moi, posez lui d'abord vos questions
gaston gaston
1 620 contributions
Membre depuis le 01/03/2001
Envoyé le 09/03/2023 à 17:28


Bonjour,
Merci bip-bip pour ta réponse, mais bon ce n'est pas automatique : il faut modifier l'adresse à chaque fois. J'aurais voulu faire une formule et puis on s'en occupe plus

Pour la plupart des formules, j'avais trouvé un truc qui me va bien puisque ça fonctionne aussi bien avec les lignes que les colonnes
Exemple: SOMME(A2:A) pour la somme de toute la colonne A et NBVAL(A5:5) pour le nombre de valeurs de toute la ligne 5

Mais donc bien sûr avec la formule NB.VIDE(A2:A) je n'obtiens pas le résultat que je veux, puisque ça compte toutes les cellules vides de la colonne, sans exception:
Pour pouvoir définir ma plage automatiquement, il faudrait une formule un peu plus complète qui irait trouver la dernière ligne non vide d'une colonne (B par exemple) où je sais qu'il y a forcément une valeur à chaque ligne de mon tableau , puis me servir de ce numéro de ligne pour déterminer la dernière cellule de la colonne qui m'intéresse.
J'arrive à trouver le numéro de la dernière ligne non vide pour, par exemple, cette colonne B : EQUIV("zzzzz";B:B;1)
Mais je ne sais pas comment l'utiliser:
Par exemple, ceci ne fonctionne pas: SOMME(B2:(CONCATENER("B";EQUIV("zzzzz";B:B;1))


carpe diem
Bipbipcoyote Bipbipcoyote
4 312 contributions
Membre depuis le 06/03/2001
Envoyé le 10/03/2023 à 19:00 Modifié par Bipbipcoyote


Bonjour,
en fait c'est simple, tu crées une plage nommée (MaColonneA) ce qui peut donner

'Feuille 1'!A:A

et une seconde qui donne

'Feuille 1'!B:B

Ensuite en C1 (ou ailleurs) tu mets la formule

=SUMIFS(MaColonneA;MaColonneB;"<>")

ce qui fait le total des cellules de la colonne A tant que la cellule en vis à vis dans la colonne B est non vide
Qu'en penses-tu ?
Evidemment, ici on prend la colonne entière, il n'est pas question de la dernière cellule vide, mais si tu places le Total en haut de colonne, c'est tout aussi esthétique
Démo en vidéo
Visitez mon Site Google est mon ami, il répond mieux que moi, posez lui d'abord vos questions
gaston gaston
1 620 contributions
Membre depuis le 01/03/2001
Envoyé le 14/03/2023 à 13:50


Bonjour,

ok pour les sommes, mais donc si je veux utiliser NB.VIDE ?
carpe diem
Bipbipcoyote Bipbipcoyote
4 312 contributions
Membre depuis le 06/03/2001
Envoyé le 14/03/2023 à 14:19 Modifié par Bipbipcoyote


Bonjour,
=COUNTIF(MaColonneB;"")
Note que tu peux l'écrire aussi nb.si la formule est traduite dans sa version "anglaise" après validation de la formule
référence dans l'aide de Google il y a même une vidéo

En fait on pourrait arriver à mieux définir la zone en recherchant la dernière cellule vide, mais il faut alors recourir à la programmation dans une Apps Script (qui est le pendant de VBA sous Excel) et que tu peux retrouver via le menu "Extension" dans le ruban d'un fichier ouvert dans Sheets

Je ne suis pas habitué à Sheets car bien entendu j'utilise Excel que je connais mieux et qui est d'une programmation plus simple (le code me semble moins abscons)
Voici un lien qui montre ce que cela peut donner on retrouve la dernière cellule non vide . Bien entendu, il faut trouver la suite c'est à dire descendre d'une ligne et finalement la remplir. De plus, si la dernière cellule contient ton total, il faut d'abord le déplacer ou le recréer à la suite de la nouvelle ligne ajoutée

Apparemment si j'ai bien lu, cette programmation serait proche du javascript
il y a des tutoriaux sur YouTube
https://www.youtube.com/results?search_query=google+appsheet+tutorial
Visitez mon Site Google est mon ami, il répond mieux que moi, posez lui d'abord vos questions
Bipbipcoyote Bipbipcoyote
4 312 contributions
Membre depuis le 06/03/2001
Envoyé le 14/03/2023 à 14:29 Modifié par Bipbipcoyote


Bonjour,
En français
Retrouver la dernière cellule vide
Finalement, il faudrait arriver à un résultat qui pourrait s'approcher de ceci
c'est à dire avoir un formulaire qui va remplir la feuille
Je vais un peu chercher car évidemment, je dois retrouver des exemples de programmation
Créer un formulaire
Visitez mon Site Google est mon ami, il répond mieux que moi, posez lui d'abord vos questions
Bipbipcoyote Bipbipcoyote
4 312 contributions
Membre depuis le 06/03/2001
Envoyé le 14/03/2023 à 17:56 Modifié par Bipbipcoyote


Bonjour,
En cumulant la solution de nommer la colonne, plus le formulaire expliqué sur ce lien
On peut obtenir ce fichier
Il faut être patient lorsque tu l'ouvres , les boutons n'apparaissent pas de suite, en tout cas ici puisqu'il s'agit d'un fichier qui se charge dans le navigateur
On doit mettre la somme des rémunérations sur le côté puisque l'on nomme toute la colonne, si l'on tente de la mettre en dessous, on obtient une erreur suite à une référence circulaire, peut être que l'on peut se passer de nommer la colonne, inclure l'effacement de la formule et la reconstruire dans l'enregistrement de la macro
Visitez mon Site Google est mon ami, il répond mieux que moi, posez lui d'abord vos questions
gaston gaston
1 620 contributions
Membre depuis le 01/03/2001
Envoyé le 18/03/2023 à 19:19


Bonjour,
(+)

carpe diem

Discussion trop ancienne

Cette discussion a été automatiquement fermée car elle n'a plus reçue de nouveau message depuis trop longtemps.

Nous vous suggérons de créer un nouveau message

« Retour sur la liste des messages de ce forum