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 :

Générer par formule une suite de nombres entre 2 chiffres dans une colonne en répétitions


Sujet :

Excel

  1. #1
    Expert confirmé
    Homme Profil pro
    PAO
    Inscrit en
    Octobre 2014
    Messages
    2 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : PAO
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Octobre 2014
    Messages : 2 576
    Points : 4 174
    Points
    4 174
    Par défaut Générer par formule une suite de nombres entre 2 chiffres dans une colonne en répétitions
    Bonjour,

    J'aimerai pourvoir étiré une formule pour faire une suite de nombres entre 2 nombres bien précis et à répétition dans une colonne.
    Par exemple si je veux une suite de nombre entre 2 et 5 en répétitions j'utilise la formule (que je n'ai pas encore réussi à améliorer) :
    ce qui donne dans la colonne une série de chiffre comme ceci :

    2
    3
    4
    5
    0
    1
    2
    3
    4
    5
    0
    1
    alors que j'aimerais avoir plutôt ce résultat :
    2
    3
    4
    5
    2
    3
    4
    5
    2
    3
    4
    5

    et ainsi de suite selon l'étirement. la série de nombre sera pas forcément entre 2 et 5; j'ai juste énuméré le principe de ce que la formule devrais faire.

    Merci d'avance pour toute aide
    Cordialement
    Ryu

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. – Albert Einstein

    Pensez à la Balise [ CODE][/CODE ] - à utiliser via le bouton # => Exemple

    Une fois votre problème solutionné pensez à mettre en n'oubliant pas d'indiquer qu'elle est la solution finale choisie

  2. #2
    Expert confirmé Avatar de jerome.vaussenat
    Homme Profil pro
    Formateur Bureautique
    Inscrit en
    Janvier 2011
    Messages
    1 629
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Formateur Bureautique
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 629
    Points : 4 299
    Points
    4 299
    Par défaut
    Salut,

    Comment tu définis tes mini et maxi ?
    Jérôme

    " Je pense donc je suis. Tu es donc j'apprends ". (GCM)

    Si ce message vous à aidé, merci de cliquer sur . Si ce message est résolu, cliquez sur .

  3. #3
    Expert confirmé
    Homme Profil pro
    PAO
    Inscrit en
    Octobre 2014
    Messages
    2 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : PAO
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Octobre 2014
    Messages : 2 576
    Points : 4 174
    Points
    4 174
    Par défaut
    bonjour Jérome,

    en fait cela dépend de l'en-tête (donc début de ligne pour les données de mon tableau)
    et de la hauteur de mes données (donc la dernière ligne de mes données)
    par conséquent dans le cas où mes données commencent en lignes 2 (ou 3 …), et finissent en lignes 154
    la suite de chiffres devra être compris entre 2 et 154 (répété autant de fois que la formule est étiré); une fois 154 atteint on repart de 2
    Cordialement
    Ryu

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. – Albert Einstein

    Pensez à la Balise [ CODE][/CODE ] - à utiliser via le bouton # => Exemple

    Une fois votre problème solutionné pensez à mettre en n'oubliant pas d'indiquer qu'elle est la solution finale choisie

  4. #4
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 422
    Points
    12 422
    Par défaut
    Bonjour, Ryu

    Je te suggère quelque chose comme dans cet exemple un peu bâclé :
    Au départ en colonne A, à partir de A1 :
    3
    4
    5
    6
    formule à partir de A5 et à étirer vers le bas autant que souhaité :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     =SI(A4 = MAX($A$1:A4);0;A4+1)
    Amitiés

    EDIT : Ah oui : si tu ne veux pas recommencer = 0 mais à la 1ère valeur, la formule est alors :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(A4 = MAX($A$1:A4);$A$1;A4+1)
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .

    ****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...

    Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.

  5. #5
    Expert confirmé Avatar de jerome.vaussenat
    Homme Profil pro
    Formateur Bureautique
    Inscrit en
    Janvier 2011
    Messages
    1 629
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Formateur Bureautique
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 629
    Points : 4 299
    Points
    4 299
    Par défaut
    Salut,

    Voici ce que je te propose.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(OU(B4=0;B4>=EQUIV(RECHERCHE("zzz";A:A);A:A;0));EQUIV("*";A:A;0);B4+1)
    Dans mon cas, la formule est placée en B5. Elle fait référence à la lignes du dessus (B4) pour bosser.

    Ce B4 est à adapter suivant l'emplacement de ta formule.

    En espérant que c'est ce que tu veux.
    Jérôme

    " Je pense donc je suis. Tu es donc j'apprends ". (GCM)

    Si ce message vous à aidé, merci de cliquer sur . Si ce message est résolu, cliquez sur .

  6. #6
    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 RyuAutodidacte Voir le message
    Par exemple si je veux une suite de nombre entre 2 et 5 en répétitions
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  7. #7
    Expert confirmé
    Homme Profil pro
    PAO
    Inscrit en
    Octobre 2014
    Messages
    2 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : PAO
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Octobre 2014
    Messages : 2 576
    Points : 4 174
    Points
    4 174
    Par défaut Merci - le pourquoi cette demande … :)
    Coucou Jacques, Jérome et Menhir,

    Merci pour votre aide.
    je n'ai pas répondu tout de suite car je voulais bien prendre le temps de tester vos différentes versions …
    Je me suis rendu compte que j'ai oublié un détails mais qui à son importance, le fait que la formule soit indépendante de toutes valeurs appartenant à une ou d'autres cellules, mea culpa pour cet oubli.

    Peut être que vous vous en doutez ou pas le pourquoi de cette formule … ?

    Afin de pourvoir créer une "boucle" sur un tableau via formules pour un résultat en colonne. he oui vous avez bien lu.
    et pourquoi pas INDEX EQUIV ou un SOMMEPROD, car je n'ai pas trouvé la solution (surement quel existe et est plus simple à mettre en place), et j'ai imaginé celle-ci

    - Jacques bonne idée l'utilisation de MAX

    - Jérome j'ai bien réussi à faire une suite, mais pas à répétition, peut être que quelque chose ma échappé …

    - Menhir la formule n'est pas tout à fait ce que je voulais (dû à mon oublis d'une précision), mais c'est exactement ça dans le principe,
    j'ai du m'y prendre comme en pied car je tourner autour en m'approchant de ce que tu as fais mais pas avec les bons calcul

    Bon voilà au final ce que ça a donné avec le début à 2; les formules commençant en H2, …

    H I J K L M
    Formule indépendante d'une valeur dans une cellule
    Représente les lignes dans un tableau
    Formule dépendante des formules en H
    Représente les colonnes dans un tableau
    Formule indépendante d'une valeur dans une cellule
    Représente les colonnes dans un tableau
    Les 2 formules indépendantes associés
    me permettront de boucler dans un tableau
    pour un résultat en colonne (en vba)
    Penser Excel avant VBA
    2 2 2 $B$2
    =2+MOD(LIGNE(A1)-1;10) =NB.SI($H$2:$H11;H2)+1 =ENT((LIGNE(A1)-1)/10)+2 =ADRESSE(H2;J2)

    Étirer les formules pour en voir le résultat , vous voyez ou je veux en venir …

    pour la formule dont la discussion a été ouvert :
    le début de ligne et fin de ligne ce gère avec x et y : =X+MOD(LIGNE(A1)-Y) (voir A1 à remplacer selon le cas mais on touchera plus à X et Y)

    Le fichier de travail : Boucle Formules.xlsx

    un exemple de formules résultat en colonne (oui peut être tiré par les cheveux mais ça marche bien) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(INDIRECT(ADRESSE(2+MOD(LIGNE(A1)-1;17);ENT((LIGNE(A1)-1)/17)+2;4))=0;INDIRECT(ADRESSE(LIGNE($A$1);ENT((LIGNE(A1)-1)/17)+2;4))&",,,,,"&INDIRECT(ADRESSE(2+MOD(LIGNE(A1)-1;17);1;3));"")
    REF 1706540 1701940
    100 1 1
    200 1 1
    300 1 1
    400 1 1
    500 1 1
    600 1 1
    700 1 1
    800 1 1
    900 1 1
    1000 1 0
    1100 1 0
    1200 0 0
    1300 0 0
    1400 0 1
    1500 0 1
    1600 0 1
    1700 0 1

    Mettre la formule où bon vous semble, fixé le résultat, faire le tri pour supprimer les cellules vides, convertir avec comme séparateur la ","

    Voilà

    PS : je ne sais pas si c'est une bonne idée mais je compte m'en servir en vba - votre avis m'intéresse

    Cordialement
    Ryu

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. – Albert Einstein

    Pensez à la Balise [ CODE][/CODE ] - à utiliser via le bouton # => Exemple

    Une fois votre problème solutionné pensez à mettre en n'oubliant pas d'indiquer qu'elle est la solution finale choisie

  8. #8
    Expert confirmé
    Homme Profil pro
    PAO
    Inscrit en
    Octobre 2014
    Messages
    2 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : PAO
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Octobre 2014
    Messages : 2 576
    Points : 4 174
    Points
    4 174
    Par défaut
    Bonjour,

    Voilà j'ai adapté la formule en vba ici :
    https://www.developpez.net/forums/d1...s/#post9441189

    PS : même formule pour les colonnes adapté pour un RECHERCHEV
    Cordialement
    Ryu

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. – Albert Einstein

    Pensez à la Balise [ CODE][/CODE ] - à utiliser via le bouton # => Exemple

    Une fois votre problème solutionné pensez à mettre en n'oubliant pas d'indiquer qu'elle est la solution finale choisie

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

Discussions similaires

  1. [AC-2007] Générer une liste de date entre 2 dates dans une requête
    Par Sonilight dans le forum Access
    Réponses: 4
    Dernier message: 29/08/2012, 17h23
  2. [RegEx] Extraire nombre de 4 chiffres dans une chaine
    Par Booyakha dans le forum Langage
    Réponses: 2
    Dernier message: 30/10/2009, 15h28
  3. [XL-2007] Incrémenter une valeur dans une suite de nombre
    Par beast666 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 21/04/2009, 15h18
  4. [RegEx] Recherche dans une suite de nombres
    Par alibab dans le forum Langage
    Réponses: 11
    Dernier message: 20/09/2007, 08h04
  5. Recherche d'un chiffre dans une chaine de nombres
    Par syldudu dans le forum Requêtes et SQL.
    Réponses: 11
    Dernier message: 27/10/2006, 10h55

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