Page 2 sur 3

Fonction de base de donnée BDLIRE

Publié : 13 nov. 2006 06:37
par Jeff
Un petit tour vers les fonctions de base de données ; après la BDSOMME de Dude, voici BDLIRE :

Syntaxe : =BDLIRE(Base_de_donnée;Champs;Critères)

Base_de_donnée : Matrice où l'on va faire la recherche (y compris en-têtes de colonne)
Champs : Colonne dans laquelle sera extrait la valeur recherchée (en-tête de colonne)
Critères : Critères de recherche

Un petit exemple :
Image

Dans cet exemple, en zone de critère, la cellule A2 porte simplement une fonction =H5, pour un souci de présentation ; celà sert aussi, lors de la protection de la feuille, à protéger la matrice de critères.
La zone de critère est assez sensible, le mieux étant de procéder à un copier/coller pour avoir une valeur totalement identique à celle de la colonne où portera la recherche.
Limite de BDLIRE : si plusieurs valeurs sont identiques dans la colonne de critère, votre résultat sera Err:502 (voir également dans l'aide d'OOo codes d'erreur).Dans le cas de valeur identique, préférer une fonction RECHERCHER avec indication du tri.

Fonctions base de donnée

Publié : 14 nov. 2006 13:28
par Jeff
Voici pêle-mêle quelques fonctions de base de donnée.

Celles-ci sont insensibles à la répétition du critère de recherche.

Même présentation, pour prendre l'habitude de protéger la zone de critère.

Même syntaxe :

=Fonction_de_base_de_donnée(Base_de_donnée;Champs;Critères)

A noter que, dans tous les cas, l'ajout de colonne est possible (voir probable dans la réalité...), et qu'il suffit de multiplier les zones de critère pour multiplier également le nombre d'éléments cherchés...
(cliquer sur l'image pour zoomer)
Fct_BD.png

Compter les cellules nombres textes caractères spéciaux

Publié : 15 déc. 2006 19:50
par Jeff
Selon le même principe que vu précédemment (somme des inverses), mais avec des fonctions "classiques", comme SOMMEPROD, on peut compter de tout (chiffre, texte, cellule vide, heure, date, caractères spéciaux).

Code : Tout sélectionner

=SI(A1="";0;1/SOMMEPROD($A$1:$A$15=A1))
Image

Dans cet exemple, j'ai choisi de ne pas compter les cellules vides (je crée donc une exception, qui peut englober plusieurs termes si ils sont imbriqués dans une fonction OU) ; toutefois, on peut choisir de comptabiliser celles-ci (donc pour 1, quel qu'en soit le nombre, puisqu'elles seront identiques aux autres cellules vides), en supprimant la condition SI en cellule B1 puis recopie :

Code : Tout sélectionner

=1/SOMMEPROD($A$1:$A$15=A1)
Pour savoir combien de fois apparait le même critère, on peut aussi supprimer l'inverse, pour faire en sorte qu'en face de chaque critère apparaisse le nombre de fois où ce critère est présent dans la liste ; pour cela en cellule B1 puis recopie :

Code : Tout sélectionner

=SOMMEPROD($A$1:$A$15=A1)

Publié : 10 janv. 2007 12:34
par Jeff
Convertir une matrice au format texte en format nombre

Depuis l'apparition du menu Données > Texte en colonne :
  • sélectionner la colonne contenant les chiffres en format texte.
  • Menu Données > Texte en colonne :arrow: valider
  • ...et c'est tout
Ancienne méthode :
(cette méthode est donc valable pour les versions < 2.4, mais est également valable lorsque vos données à convertir sont en ligne et ce quelque soit la version AOO employée)

Pour convertir une plage de cellule en format texte au format nombre, la manipulation étant "technique", un p'tit dessin à la place d'un grand discours.
AOO_forum.png

Convertir un Mois texte en un Mois nombre

Publié : 16 mai 2007 08:40
par Vandeput
En A1 : un mois au format texte, par exemple janvier, juillet, ...
En B1 = MOIS(1&A1) renvoie le numéro du mois, pour l'exemple 1, 7, ...
Avec OOo 3.2.1 et ultérieures (dont AOO), utiliser :
=MOIS(DATEVAL("1/"&$A1))

Le contraire est aussi faisable
En A1 : un nombre, par exemple 1, 7, ...
En B1 : =TEXTE(DATE(1;A1;1);"mmmm") renvoie le mois en texte, pour l'exemple janvier, juillet, ...

Incrémenter des Mois décroissants

Publié : 16 mai 2007 08:52
par Vandeput
Dans le même esprit que l'astuce précédente, en combinant les deux formules.

En A1 : un mois au format texte, par exemple décembre
En A2 : =TEXTE(DATE(1;MOIS(1&A1);0);"mmmm") renvoie novembre
Avec OOo 3.2.1 et ultérieures (dont AOO), utiliser :
=TEXTE(DATE(1;MOIS(DATEVAL("1/"&A1));0);"mmmm")

En étirant cette formule vers le bas elle renverra successivement octobre, septembre, août, ...

Calcul de pourcentage

Publié : 28 mai 2007 18:21
par Jeff
Là, ça s'apparente plus à des maths.
Comment calculer un pourcentage, un total H.T, T.T.C. ou T.V.A., avec des cellules formatées (ou non) pourcentage :
AOO_forum.png
et le fichier "test" pour qui veut :

http://user.services.openoffice.org/fr/ ... 081906.ods

Publié : 17 févr. 2008 08:51
par trebor
Bonjour,
J'ai ajouté quelques lignes en bas du tableau de jeff afin de calculer (en Belgique) le montant maximum du placement afin de ne pas dépasser 1660 € d'intérêt et échapper ainsi au 15 % de précompte prélevé sur les intérêts du placement.
A+
http://user.services.openoffice.org/fr/ ... 095058.ods
[/url]

Convertisseur de Calendrier Grégorien et Républicain

Publié : 18 mars 2008 13:25
par SlOOoP
Un classeur qui permet de convertir toutes les dates du calendrier républicain vers le grégorien, et inversement.

Pour information, le calendrier républicain débute le 1 vendémiaire An II (22 sept 1793) et se termine le 10 nivôse An XIV (31 déc 1805)

http://user.services.openoffice.org/fr/ ... 124835.ods

Retourner le jour de la semaine pour une date

Publié : 19 nov. 2008 13:45
par Zitoun69
Bidouille a écrit :Fonction : CHOISIR JOURSEM
Retourner le jour de la semaine pour une date
Image
Beaucoup plus simple :
La date en a1, mettre en b1 =a1
choisir le format classique en a1, en b1 aller dans format - cellules - date et dans description de format entrer JJJ
L'ordi marque la même chose qu'avec la formule plus complexe !!

Re: Forcer Calc à reconnaitre la validité des dates

Publié : 22 févr. 2009 03:13
par Ethernan
Lorsque l'on veut utiliser la validité des dates (menu Données/Validité -> Date), Calc ne réagit pas. Il s'agit d'un bogue récurrent.

Il existe une solution toute simple que je viens de trouver : utiliser la fonction Date() dans les critères de validité.

Saisie et validation sur une plage importante

Publié : 16 avr. 2009 09:16
par Jeff
(Utilisation de quelques raccourcis clavier pour naviguer sur une feuille)

Plutôt que de recopier une formule ou une donnée sur de nombreuses cellules, il est possible de saisir et valider une formule (ou donnée) en une seule fois sur une plage importante.
  • Sélectionner la plage voulue :
    1. Première méthode :
      • Sélectionnez la dernière cellule de votre plage.
        Au besoin, utilisez le raccourci clavier Ctrl + touche de direction pour naviguer aux extrêmes de la feuille.
      • Laissez cette cellule sélectionnée, et servez-vous des barres de défilement verticale et/ou horizontale pour faire apparaître à l'écran la première cellule de votre plage.
      • Simultanément, appuyer sur Maj + cliquez sur la première cellule de votre plage.
    2. Seconde méthode :
      • Saisissez directement la plage dans la zone de nom (la où s'affiche les coordonnées de la cellule active), puis valider
    :arrow: votre plage est sélectionnée en totalité
  • Directement dans la barre de formule, saisissez votre formule ou votre donnée.
  • Validez par Alt + Entrée
    :arrow: La formule ou la donnée est saisie et validée sur la plage sélectionnée.
:alerte: Selon la taille de la plage et la complexité de la saisie, prévoir plusieurs secondes de calcul
  • Les données "texte" sont saisies à l'identique
  • Les données "chiffre" sont saisies à l'identique (pas d'incrémentation)
  • Les formules sont actualisées selon les valeurs absolues et relatives
Cette technique de validation est également appréciable pour changer un paramètre dans une formule présente dans de nombreuses cellules d'une même plage.

le libellé du jour de la semaine (Lundi, Mardi, etc.)

Publié : 18 mai 2009 19:13
par jjk
Zitoun69 a écrit :
Bidouille a écrit :Fonction : CHOISIR JOURSEM
Retourner le jour de la semaine pour une date
Image.
Beaucoup plus simple :
La date en a1, mettre en b1 =a1
choisir le format classique en a1, en b1 aller dans format - cellules - date et dans description de format entrer JJJ
L'ordi marque la même chose qu'avec la formule plus complexe !!
La fonction simple qui donne donc le libellé du jour de la semaine (Lundi, Mardi, etc.) est :

Code : Tout sélectionner

=NOMPROPRE(TEXTE(A1;"JJJJ"))
Mettre "JJJ" à la place de "JJJJ" si on ne veut que les 3 premières lettres.

Modifier un style

Publié : 07 sept. 2009 22:58
par Giulia
Modifier un style

Pour cela, il faut aller dans Format -> Styles et formatage

Choisir son style, puis clic droit.
Choisir Modifier


Et enfin, on peut tout à fait changer certains éléments, comme par exemple le renvoi à la ligne automatique :)


Voili voilou :D :wink:

Majuscules et minuscules en liste de tri

Publié : 31 déc. 2009 16:42
par choupettes
Bonjour tout le monde,
je viens ici pour la 1ére fois, j'utilise OOo sur sept depuis 15 jours.Si je ne suis pas au bon endroit ayez la gentillesse de le transférer.
Et un problème avec les mois et jours de semaine, m'a fait transpirer, mais j'ai trouvé une solution très facile au problème des majuscules et minuscules.
La solution en images, vu mon minuscule calibre d'expression écrite (étranger) vous n'alliez pas comprendre.
Menu : Outils > Options... > OpenOfice.org Calc > Liste de tri
Capture-1.jpg

Essayer c'est adopter,et ça marche avec n'importe quelle feuille(existante ou pas)

Arrondir une valeur au demi point le plus proche

Publié : 12 avr. 2010 06:31
par BerthOOold
Bonjour
petite participation,
comment arrondir une valeur au demi point le plus proche :
capture 2010-04-12 à 08.27.18.png

Re: Arrondir une valeur au demi point le plus proche

Publié : 12 mai 2010 14:37
par Churay
Bonjour,

=ARRONDI(A2*2)/2 ==> 16 touches clavier
=ENT(A2+0,5) ==> 12 touches clavier

Je préfère ma méthode...

:lol:
 Ajout : Comme jumbo444 n'a pas manqué de le remarquer ENT(A2+0,5) permet d'obtenir un arrondi à l'unité et non à .5
Dès lors qu'on arrondit au demi-point, ARRONDI(A2*2)/2 est la formule adaptée...
Il faudra que j'arrive un jour à lire les questions autrement qu'en diagonale... :roll: 

Re: Arrondir une valeur au demi point le plus proche

Publié : 12 mai 2010 17:43
par OOo - Ekel
Bonsoir,

Autre solution pour arrondir une valeur au demi point le plus proche :

Code : Tout sélectionner

=ARRONDI.AU.MULTIPLE(A2;0,5)
Cordialement.

Gérer le diamètre des bulles d'un graphique à bulles

Publié : 17 mai 2010 17:11
par OOotremer971
Bonjour,

J'ignore si je poste au bon endroit. Merci de me corriger le cas échéant.

Suite au fil http://user.services.openoffice.org/fr/ ... =4&t=21417 j'ai trouvé une astuce pour diminuer considérablement le diamètre des bulles. J'espère que ça aidera un peu.

G.
GraphiqueBulles.png

Re: Gérer le diamètre des bulles d'un graphique à bulles

Publié : 20 mai 2010 06:00
par OOotremer971
J'ajoute un petit plus qui permet de modifier le diamètre des bulles par simple clic sur un bouton "compteur" ; il a pour effet de modifier le contenu de la cellule B8, et permet donc d'ajuster (en direct) le diamètre visuellement en cliquant soit vers le haut ou le bas.
DiagrammeBulles.ods

Insérer la date du jour

Publié : 08 sept. 2010 19:12
par gerard24
Bonjour,

Le tour de quelques méthodes pour insérer la date du jour.

Par formule :
=AUJOURDHUI()

Cette date est bien entendu évolutive. Si on ouvre à nouveau le classeur le lendemain, la formule est recalculée.
Pour éviter le recalcul sans avoir à saisir la date dans son entier, plusieurs solutions :

Si on connait le jour :
taper le jour, puis / puis entrée. Calc complète la date. Exemple pour aujourdhui 9/ affichera 09/09/10.

Si on ne se souvient pas du jour :
  • 1. Pour une cellule ou plage de cellules :
  • Sélectionner la plage de cellules puis Données > Validité
  • Plage de cellules
  • Source : la formule TEXTE(AUJOURDHUI();"JJ/MM/AA")
  • 2. Pour un fichier :
  • Menu Insertion > Nom > Définir (ctrl+F3)
  • Nom : j (comme jour)
  • Assigné à : AUJOURDHUI()
  • Dans n'importe quelle cellule du classeur : =j puis F9 puis entrée 2 fois
date.png
  • 3. Pour tous vos fichiers :
Par une macro à laquelle vous affecterez un raccourci clavier. Un exemple ici.

A+

Insérer la date du jour (suite)

Publié : 09 sept. 2010 10:14
par Pierre-Yves Samyn
Bonjour

Toujours pour insérer la date du jour...

Par AutoCorrection :
  • Faire Outils > Options d'AutoCorrection > onglet Remplacer
  • Dans la zone Remplacer taper un raccourci, par exemple dj
  • Dans la zone Par taper =AUJOURDHUI() (ne pas oublier le signe =)
Capture-1.png

Il suffit ensuite de taper le raccourci choisi dans une cellule puis de valider par Entrée, Tabulation, Flèche (droite, bas, haut, gauche), etc., le raccourci est remplacé par la fonction AUJOURDHUI()

Par contrôle de formulaire
  • Afficher la barre d'outils Contrôles de formulaire, dans cette barre cliquer sur "Autres contrôles", puis dans cette nouvelle barre choisir l'outil Champ de Date
  • Dessiner le contrôle
  • Faire un clic droit dessus puis Contrôle pour afficher les propriétés
  • Définir la propriété Déroulante à Oui
  • Cliquer dans la barre d'outils Contrôles de formulaire sur le deuxième bouton en partant de la gauche (Dés)activer le mode Conception (équerre)
On dispose désormais d'un calendrier en cliquant sur la flèche permettant de dérouler le contrôle.
Capture-2.png
Nota : il n'est pas possible (hors programmation) d'associer la date sélectionnée par l'utilisateur à une cellule. Cette technique ne peut donc servir dans les cas de figure où l'on a besoin de la date dans d'autres formules.

Changement de date origine : 4 ans d'écart

Publié : 29 nov. 2010 14:54
par gerard24
Bonjour,

Si on saisit des dates dans un classeur ayant le 1/01/1904 comme date origine puis que l'on modifie cette date origine en 30/12/1899
ou copie et colle ces dates dans un classeur avec l'option 30/12/1899 on se retrouve avec un écart de 4 ans !

Voici comment récupérer nos dates :
  • Dans une cellule vide, inscrire le nombre 1462 (différence en nombre de jours entre les 2 options)
  • Copier cette cellule
  • Sélectionner la plage de dates
  • Collage spécial : Cocher Nombres et Addition
date_origine.jpg

Syntaxe fonction REHERCHEV()

Publié : 08 janv. 2011 05:19
par OOotremer971
Cette copie d'écran et son fichier source sont sous licence GNU F.D.L. (Licence de Documentation Libre GNU)
en français : http://cesarx.free.fr/gfdlf.html ou officiel : http://www.gnu.org/licenses/licenses.html#GPL
Vous êtes libre de le reproduire, le recopier, le réutiliser, l'améliorer, le modifier, le distribuer à condition de lui attribuer les mêmes libertés et de citer son origine :
Forum francophone OpenOffice.org
SyntaxeRECHERCHEV().png
SyntaxeRECHERCHEV().ods

Formules et cellules fusionnées

Publié : 18 janv. 2011 10:51
par gerard24
Les cellules fusionnées posent souvent des problèmes dans l'utilisation des formules.
Le mieux est de les utiliser le moins souvent possible, cependant on peux quand même avoir des cellules fusionnées et éviter de se compliquer la vie avec des formules
d'un km de long.

Le fichier qui suit explique la méthode pour pouvoir utiliser les formules classiques malgré la fusion.

Copier coller avec lignes et colonnes masquées

Publié : 27 janv. 2011 16:37
par OOotremer971
Bonjour,

Vous pouvez constater que lorsque vous copiez une plage de cellules dont certaines lignes et colonnes sont masquées, lors du collage, ces lignes et colonnes masquées sont collées elles aussi.

Comment effectuer un copier/coller en excluant les lignes et colonnes masquées ?

A) Premier cas de figure : la zone concernée ne contient pas de formule
  • sélectionnez la plage à copier, puis par Ctrl+C ou un clic sur l'icône copier, copiez le contenu dans le presse papier.
  • positionnez vous par un clic dans la première cellule de destination du collage
  • cliquez sur la flèche à droite de l'icône coller, puis choisir l'entrée de liste nommée : HTML (HyperText Markup Language)
    CollageMasqué.png
    le formatage des cellules change lors du collage ; il suffit d'effectuer un clic droit sur la zone concernée et sélectionner Formatage par défaut ou d'appliquer le style souhaité.
B) Deuxième cas de figure : la zone concernée contient des formules
  • La méthode précédemment décrite ne prend pas en compte les formules. Il faut donc les convertir en texte avant d'effectuer le copier/coller, de cette façon :
  • sélectionnez la zone à copier
  • ouvrez le menu Edition->Rechercher&remplacer
    • dans la zone Rechercher, saisissez le signe égal (=)
    • dans la zone Remplacer, saisissez une simple quotte suivie du signe égal ('=)
    • cliquez sur le bouton "Plus d'options"
      • cochez : sélection active seulement
      • en regard de : Rechercher dans, sélectionnez formules
  • cliquez sur Tout rechercher puis sur Tout remplacer
  • procédez au copier/coller comme décrit précédemment au point A
Dés le collage effectué les formules sont fonctionnelles pour la zone de destination. Pour redonner aux formules de la plage source leur fonctionnalité, il faut ré-effectuer le point B en remplaçant quotte égal ('=) par égal (=)

Modification de données filtrées

Publié : 27 janv. 2011 17:30
par Pierre-Yves Samyn
Pour appliquer une modification aux lignes filtrées d'un tableau on ne peut utiliser la case de recopie.

Par exemple ici si on souhaite copier le mot Texte dans les lignes suivantes :
AvantModif.png
Utiliser la souris en cliquant sur la case de recopie est possible... mais la modification sera répercutée également sur les lignes masquées.

Il existe deux techniques dans ce cas :
  • Soit copier le mot (ici en E6) puis sélectionner la plage « cible » et coller (menu Edition ou Ctrl+V)
  • Soit sélectionner la plage avant de saisir, garder la plage sélectionnée, taper la modification (le mot Texte dans notre exemple) puis valider par Alt+Entrée.
SelAvantSaisie.png
Dans les deux cas la modification n'est pas répercutée sur les lignes masquées...

Modifier par sélection un nom de feuille dans une formule

Publié : 29 janv. 2011 04:07
par OOotremer971
Lorsqu’une formule fait référence à une feuille comme par exemple :

Code : Tout sélectionner

=Feuille2.A1
et que vous voulez modifier ce nom de feuille par un choix effectué dans une liste déroulante, afin que cette même formule accède à une autre feuille de votre choix, sans avoir à modifier la formule, il est alors possible de remplacer le nom de cette feuille par la référence à une cellule dont la valeur est un nom de feuille valide (respect de la casse), en l'intégrant dans la fonction INDIRECT() , et, en mettant entre double quottes (") les références aux cellules.

Code : Tout sélectionner

=INDIRECT(A2&".A1")
où A2 a pour valeur Feuille2

Supposons que la référence à la feuille2 soit susceptible de changer selon un critère.
Par exemple, en hiver, les températures relevées sont stockées en feuille2, et en été, elles le sont en Feuille3.

Vous avez élaboré une formule en Feuille1 qui met en évidence les températures minimales et maximales d'une de ces deux feuilles, et vous voudriez que cette même formule vous affiche, soit les températures d'hiver, soit celles d'été, selon un choix que vous effectuerez dans une cellule.

Il faudra alors remplacer dans la formule, la référence à la feuille, par la référence à une cellule qui aura pour valeur, après sélection, le nom d'une feuille de votre choix, et l’intégrer dans la fonction INDIRECT().

Pour choisir le nom de cette feuille vous pouvez définir une liste déroulante par le menu Données->Validité dans lequel vous établissez une liste dont les deux entrées sont : été et hiver.

Pour l'exemple en Feuille1.A3 vous avez rédigé cette formule :

Code : Tout sélectionner

="la température minimale relevée en "&A1&" est de "&MIN(INDIRECT(A1&".A1:A30"))&" degrés et la maximale est de "&MAX(INDIRECT(A1&".A1:A30"))&" degrés"
elle affichera selon le choix que vous effectuerez en Feuile1.A1 soit :

la température minimale relevée en été est de 19 degrés et la maximale est de 38 degrés

ou

la température minimale relevée en hiver est de -18 degrés et la maximale est de 14 degrés

sans avoir à modifier la formule.

Cacher les valeurs nulles dans certaines cellules

Publié : 26 mai 2011 08:07
par Ethernan
Bonjour,

J'ai vu que certaines personnes ont proposé des alternatives pour cacher les zéros non significatifs lors d'un ancien post.

Je vous propose une autre solution plus simple : l'utilisation d'un format de cellule personnalisé avec conditions.
Voici la procédure :
- sélectionner la ou les cellule(s) à formater
- menu Format->Cellules ou clic droit : Formater les cellules
- dans la zone "Description de format", tapez le format suivant : [>0]0,00;[<0]-0,00;# 0,00;-0,00;#
- Validez sur le bouton représentant la coche verte.
Capture1.jpg
Amicalement

Description de format

Publié : 26 mai 2011 08:55
par Jean-Louis Cadeillan
Deux variantes (qui s'appuient sur le fait que la description de format concerne toujours les nombres positifs, puis négatifs puis nuls et aussi sur le fait que ma paresse me presse :wink: ) :

Code : Tout sélectionner

0,00;-0,00;#
ou

Code : Tout sélectionner

0,00;-0,00;;
A+
Jean-Louis