IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Excel Discussion :

Changement de semaine [XL-2010]


Sujet :

Excel

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2019
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2019
    Messages : 5
    Points : 6
    Points
    6
    Par défaut Changement de semaine
    Bonjour,

    Je souhaiterai créer une formule qui me permette de changer de semaine à chaque nouvelle colonne.
    Je m'explique :

    Lignes = listes de produits (H2O, NaCl, etc)
    Colonnes = n° de semaine du type S1, S2, ....., S52

    Les lignes, à peu près une dizaine, ne changent pas, les produits restent les mêmes.
    Mais pour les colonnes je veux déterminer la semaine suivante en fonction de la précédente :
    Ici ma 1ere colonne/semaine est S14 et pour la deuxième semaine, au lieu d'écrire simplement S15, j'aimerai qu'une formule le fasse à ma place. Il faut que cette formule prenne les derniers caractères de la cellule précédente, y incrémente +1 et mette un S devant.
    Je ne sais pas si c'est faisable, j'ai essayé quelques trucs mais inefficaces.
    Pour prendre les derniers caractères, il faut une fonction SI :
    - si la colonne antérieure possède 3 caractères, on prend les deux derniers, on y ajoute +1 et on y ajoute un S devant
    - si la colonne antérieure possède 2 caractères, on prend le dernier, on y ajoute +1 et on y ajoute un S devant.

    J'ai essayé ça : =SI(DROITE(B5;2);DROITE(B5;2)+1;DROITE(B5;1)+1)
    Etant étudiante en chimie, je ne maîtrise absolument pas Excel malheureusement et je me retrouve rapidement bloquée...

    Je vous remercie pour toute aide apportée, j'espère avoir été claire.
    Bonne journée,
    Sophie

  2. #2
    Membre averti
    Homme Profil pro
    Sapeur pompier
    Inscrit en
    Février 2008
    Messages
    442
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Sapeur pompier
    Secteur : Service public

    Informations forums :
    Inscription : Février 2008
    Messages : 442
    Points : 416
    Points
    416
    Par défaut
    Bonjour,

    Je vous propose cette formule :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(NBCAR(B5)>2;GAUCHE(B5;1) & (DROITE(B5;2)+1);GAUCHE(B5;1) & (DROITE(B5;1)+1))
    elle regarde combien, de caractères contient ta cellule afin de savoir si on le numéro de la semaine est une unité ou dizaine puis j'isole le S et le numéro de la semaine et j'ajoute 1.

    Cordialement

    Sebing

  3. #3
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par Sophie_Rod Voir le message
    Mais pour les colonnes je veux déterminer la semaine suivante en fonction de la précédente :
    Ici ma 1ere colonne/semaine est S14 et pour la deuxième semaine, au lieu d'écrire simplement S15, j'aimerai qu'une formule le fasse à ma place.
    J'ai essayé ça : =SI(DROITE(B5;2);DROITE(B5;2)+1;DROITE(B5;1)+1)
    Citation Envoyé par sebing Voir le message
    Je vous propose cette formule :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(NBCAR(B5)>2;GAUCHE(B5;1) & (DROITE(B5;2)+1);GAUCHE(B5;1) & (DROITE(B5;1)+1))
    Plus simple :
    En supposant que tes semaines sont en ligne 1 et que ta "première colonne" soit B.
    En B1, tu mets ton numéro de semaine (et uniquement le numéro) : 14 si on reprend ton exemple.
    En C1, tu mets la formule =B1+1.
    Tu sélectionnes B1:C1 > Clic droit > Format de cellule > Onglet Nombre > Personnalisé > Type : "S"Standard > Ok
    Tu copies C1 vers la droite autant que nécessaire.

    Attention, cette formule ne résiste pas au changement d'année (elle ne revient pas en semaine 1 en début d'année).

    Si tu ne veux pas passer par les formats, tu peux passer par les numéro de colonne.
    En reprenant les hypothèses précédentes, tu mets en B1 : ="S"&(COLONNE()+12).
    Tu copies B1 vers la droite autant que nécessaire.

  4. #4
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 519
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 519
    Points : 16 449
    Points
    16 449
    Par défaut
    Bonjour

    Pourquoi tout simplement ne pas numéroter de 1 à 52 ou 53 avec un format de nombre personnalisé qui affiche S01 à S52 ?

    Auquel cas =colonne précédente +1 suffit...

    "S"00

  5. #5
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2019
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2019
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    Sebing,

    Je vous propose cette formule :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(NBCAR(B5)>2;GAUCHE(B5;1) & (DROITE(B5;2)+1);GAUCHE(B5;1) & (DROITE(B5;1)+1))
    elle regarde combien, de caractères contient ta cellule afin de savoir si on le numéro de la semaine est une unité ou dizaine puis j'isole le S et le numéro de la semaine et j'ajoute 1.
    La formule est nickel, ça marche impeccable merci beaucoup!
    Auriez-vous une idée pour le changement d'année ? Quand je suis à S52, repasser à S1 ou S01 ?
    Peut-être avec un ET(SI(......);SI(....)) ?

    Merci pour votre aide en tout cas



    Menhir,

    Plus simple :
    En supposant que tes semaines sont en ligne 1 et que ta "première colonne" soit B.
    En B1, tu mets ton numéro de semaine (et uniquement le numéro) : 14 si on reprend ton exemple.
    En C1, tu mets la formule =B1+1.
    Tu sélectionnes B1:C1 > Clic droit > Format de cellule > Onglet Nombre > Personnalisé > Type : "S"Standard > Ok
    Tu copies C1 vers la droite autant que nécessaire.
    Je ne me sens pas suffisamment à l'aise sur Excel pour passer par les formats

    Si tu ne veux pas passer par les formats, tu peux passer par les numéro de colonne.
    En reprenant les hypothèses précédentes, tu mets en B1 : ="S"&(COLONNE()+12).
    Tu copies B1 vers la droite autant que nécessaire.
    Mon tuteur veut que je fasse un outil complètement automatisé, et le S14 se met automatiquement avec une macro en fait, à partir d'un autre onglet sur le même fichier. Et ce fichier est mis à jour régulièrement donc mon tableau ne commencera pas toujours par S14!

    Attention, cette formule ne résiste pas au changement d'année (elle ne revient pas en semaine 1 en début d'année).
    Et il y a en effet le souci de changement d'année, auriez-vous une idée ?

    Merci pour votre aide dans tous les cas


    78chris,

    Pourquoi tout simplement ne pas numéroter de 1 à 52 ou 53 avec un format de nombre personnalisé qui affiche S01 à S52 ?

    Auquel cas =colonne précédente +1 suffit...
    Ce serait beaucoup plus simple en effet! Mais mon tuteur veut que j'apprenne un peu ce qui peut se faire sur Excel et donc utiliser des formules. (Il aime beaucoup le SI d'ailleurs ahah)
    Merci pour l'idée en tout cas, je n'y avais pas pensé.


    Sophie

  6. #6
    Membre averti
    Homme Profil pro
    Sapeur pompier
    Inscrit en
    Février 2008
    Messages
    442
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Sapeur pompier
    Secteur : Service public

    Informations forums :
    Inscription : Février 2008
    Messages : 442
    Points : 416
    Points
    416
    Par défaut
    Citation Envoyé par Sophie_Rod Voir le message
    Sebing,


    La formule est nickel, ça marche impeccable merci beaucoup!
    Auriez-vous une idée pour le changement d'année ? Quand je suis à S52, repasser à S1 ou S01 ?
    Peut-être avec un ET(SI(......);SI(....)) ?

    Merci pour votre aide en tout cas


    Et il y a en effet le souci de changement d'année, auriez-vous une idée ?

    Merci pour votre aide dans tous les cas


    Sophie
    On peut ajouter une condition si =52 alors on repart à 1 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(DROITE(B5;2)="52";"S1";SI(NBCAR(B5)>2;GAUCHE(B5;1) & (DROITE(B5;2)+1);GAUCHE(B5;1) & (DROITE(B5;1)+1)))
    Cordialement

    Sebing

  7. #7
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2019
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2019
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    J'avais réfléchi de mon côté et j'avais réussi à trouver une formule équivalente

    Merci en tout cas,
    Je vous souhaite une bonne journée.
    Sophie

  8. #8
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 519
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 519
    Points : 16 449
    Points
    16 449
    Par défaut
    Re
    Citation Envoyé par Sophie_Rod Voir le message
    Sebing,

    78chris,

    Ce serait beaucoup plus simple en effet! Mais mon tuteur veut que j'apprenne un peu ce qui peut se faire sur Excel et donc utiliser des formules. (Il aime beaucoup le SI d'ailleurs ahah)
    Merci pour l'idée en tout cas, je n'y avais pas pensé.
    Peut-être pourrais-tu inverser les rôles : il est déconseillé de faire dans Excel des tableaux à double entrée peu exploitables ensuite.
    On crée des tableaux structurés https://fauconnier.developpez.com/tu...ux-structures/
    qu'on exploite ensuite par TCD ou PowerQuery pour obtenir des tableaux à double entrée

    Regarde tout ce que l'on peut faire puis apprend lui !

    Apprendre les formules et surtout la notion de référence absolue, relative ou mixte est très important mais il l'est tout autant d'apprendre à les utiliser à bon escient et à mieux exploiter les possibilités actuelles offertes dans Excel

    Bon stage

  9. #9
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par Sophie_Rod Voir le message
    Auriez-vous une idée pour le changement d'année ? Quand je suis à S52, repasser à S1 ou S01 ?
    Ce n'est pas faisable sans savoir de quelle année il s'agit puisque certaines années, il y a une semaine 53 (ou semaine 0 suivant le pays dans lequel on se trouve) qui se glisse entre la semaine 52 et la semaine 1.

    Si tu pars du principe que la semaine 52 est systématiquement suivie par la semaine 1, il suffit de rajouter une fonction MOD() avec une base 52 dans la formule.
    https://support.office.com/fr-FR/art...b-edf2a9dc24f3

    Je ne me sens pas suffisamment à l'aise sur Excel pour passer par les formats
    Etant donné que je te dis quasiment sur quelle touche appuyer, je ne vois par comment tu pourrais ne pas être "à l'aise".

    Mon tuteur veut que je fasse un outil complètement automatisé, et le S14 se met automatiquement avec une macro en fait, à partir d'un autre onglet sur le même fichier. Et ce fichier est mis à jour régulièrement donc mon tableau ne commencera pas toujours par S14!
    Dans ce cas, la macro qui génère ce "S14" n'est pas très fonctionnelle (pour rester poli).
    Le numéro de semaine est une valeur numérique qui est plus pratique d'utiliser comme telle.
    La transformer en chaine de caractère, c'est se tirer une balle dans le pied, comme le montre toute les réponses dans ce sujet.

    Ce serait beaucoup plus simple en effet! Mais mon tuteur veut que j'apprenne un peu ce qui peut se faire sur Excel et donc utiliser des formules.
    Dit à ton formateur qu'il devrait apprendre les formats (et les structurations de données).

  10. #10
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 519
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 519
    Points : 16 449
    Points
    16 449
    Par défaut
    Re
    Citation Envoyé par Menhir Voir le message
    Plus simple :
    En supposant que tes semaines sont en ligne 1 et que ta "première colonne" soit B.
    En B1, tu mets ton numéro de semaine (et uniquement le numéro) : 14 si on reprend ton exemple.
    En C1, tu mets la formule =B1+1.
    Tu sélectionnes B1:C1 > Clic droit > Format de cellule > Onglet Nombre > Personnalisé > Type : "S"Standard > Ok
    Sorry je n'avais pas vu la fin de ta réponse et ai donc posté la même.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 14/12/2018, 14h37
  2. [XL-2007] changement date en semaine
    Par spico45 dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 13/06/2012, 18h02
  3. Changement du jour de la semaine avec java.util.GregorianCalendar
    Par Alexandre T dans le forum Collection et Stream
    Réponses: 4
    Dernier message: 10/09/2007, 10h01
  4. URGENT : Zoom et changement de repère
    Par poca10 dans le forum MFC
    Réponses: 5
    Dernier message: 28/05/2002, 13h32
  5. Réponses: 3
    Dernier message: 19/04/2002, 00h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo