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

Macros et VBA Excel Discussion :

Repeter X fois des valeurs données sur une plage en utilisant la formule INDEX


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2016
    Messages : 71
    Par défaut Repeter X fois des valeurs données sur une plage en utilisant la formule INDEX
    Bonjour à tous,

    But : imprimer des étiquettes selon des libellés un certain nombre de fois.
    But 2 : Sans macros, sans boucle (ça c'est bon j'y arrive )


    Pour multiplier une valeur n fois dans des cellules différentes, j'ai l'habitude de la RechercheV avec une colonne "compteur" (fichier ci-joint feuille 1). Aucun problème avec ceci ( mise à part la correspondance non exacte de la RechercheV qui me chiffonne, mais ça fonctionne)

    J'ai trouvé par hasard un autre principe pour parvenir au même résultat avec la fonction index, mais j'ai vraiment du mal à comprendre (fichier ci-joint feuille 2). Cela fait depuis hier que je penche dessus et je n'arrive vraiment pas à comprendre le fonctionnement de la colonne C et D.

    Je me suis dit que l'explication d'un maitre pourrait débloquer les neurones qui me font défaut

    Bonne soirée à tous.

    Nef

    formule recopie plusieurs fois (version 1).xlsx

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 171
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 171
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Si vous publiiez la fonction RECHERCHEV que vous utilisez, avec éventuellement une petite explication ou illustration de vos données, on pourrait facilement la traduire avec INDEX et EQUIV sans devoir ouvrir votre fichier.

    Voici un tutoriel sur le sujet Les fonctions Index et Equiv
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  3. #3
    Expert éminent

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 564
    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 564
    Par défaut
    Bonjour à tous

    Très lourde ton approche

    Ci-joint :
    • une solution simplifiée de tes RECHERCHEV
    • une solution par formule simple
    • une solution PowerQuery (intégré à Excel) qui donne le résultat facilement quel que soient le nombre d'étiquettes et de lignes par étiquettes selon le tableau de paramètres (Paramètres2)


    Je reposterai une solution 365 si je trouve
    Fichiers attachés Fichiers attachés

  4. #4
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2016
    Messages : 71
    Par défaut
    Bonsoir,

    Merci pour vos retours. Tuto Index + Equiv lu, mais je n'ai pas trouvé mon cas.
    Ce n'est pas faute d'avoir essayé, mais vraiment je bloque.
    J'aimerais comprendre le fonctionnement de base, sans powerquery, sans tableau nommé référencé (ce qu'il y a sur le fichier que tu as envoyé), car je pense que c'est un bon excercice.

    Juste avec un tableau de valeurs de base
    Une fois compris, j'essayerais de pousser plus loin.

    EDIT :
    Premier tableau recommencé de 0
    Pour ceux qui ne veulent pas télécharger le fichier :
    E2 : 1
    F2 : 1
    G2 : =INDEX(A:B;E2;1)
    E3 : =SI(F3=1;E2+1;E2)
    F3 : =SI(INDEX(A:B;E2;2)>F2;F2+1;1)

    Nom : Capture.JPG
Affichages : 94
Taille : 45,4 Ko

    mon but etant de remplacer la rechercheV du premier message par un index equiv simple (ce qui n'est pas le cas de ce fichier ci-joint qui lague beaucoup trop quand on tire la formule)

    recopie etiquettes.xlsx

  5. #5
    Expert éminent

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 564
    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 564
    Par défaut
    Bonjour

    Concernant INDEX le principe est simple : on utilise les cordonnées, y et x d'une plage

    Dans le quasi totalité des cas on ne connait aucun des deux ou bien un seul et il faut donc trouver le moyen de déterminer le ou les inconnus par d'autres formules.

    C'est ce que je fais dans les formules de l'onglet solution simple avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =INDEX(Paramètres[Ligne1];EQUIV(LIGNE(A1);Paramètres[Cumul];1))
    Il faudrait d'ailleurs l'améliorer pour limiter la répétition de la dernière étiquette
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(LIGNE(A1)<=SOMME(Paramètres[nombre etiquettes]);INDEX(Paramètres[Ligne1];EQUIV(LIGNE(A1);Paramètres[Cumul];1));"")
    Cela fait 20 ans qu'Excel a introduit les tableaux structurés et s'en priver est une mauvaise approche car cela complique inutilement les formules dans nombre de cas et travailler sur des colonnes entières est une mauvaise approche.
    Mais ceci fonctionne aussi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(LIGNE(A1)<=SOMME(A:A);INDEX(B:B;EQUIV(LIGNE(A1);D:D;1));"")
    Cependant cela nécessaire d'étendre la formule sur un nombre pifométrique de lignes, suffisant pour traiter toutes les étiquettes avec le risque de ne pas pas avoir assez anticipé (étiquettes manquantes) ou trop de formules qui vont ralentir le fonctionnement d'Excel d'où l'intérêt d'une solution PowerQuery qui d'une part évite cet écueil, d'autre part intègre automatiquement les colonnes décrivant les autres lignes à inscrire sur les étiquettes.

    Tu as bien également calculer l’une ou l'autre des coordonnées y, x mais comme déjà dit je trouve ton approche compliquée avec 2 colonnes E et F interdépendantes et il faudrait aussi prévoir un test pour ne pas avoir à ajouter ou supprimer manuellement des lignes selon le nombre total d'étiquettes...

    Tu peux réutiliser ma logique plus simple du cumul sans l'incorporer au tableau initial...
    Images attachées Images attachées  

  6. #6
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2016
    Messages : 71
    Par défaut
    Merci pour la réponse.

    Je suis d'accord pour les tableaux structurés. Mais pour la compréhension, ca alourdit les choses.

    Ta formule est exactement ce que je cherche (pour tranquillement la potasser)

    Par contre il y a une erreur dans la formule, il y a 4 etiquettes "a" alors qu'on en demande que 2

    EDIT :

    le problème dans ton exemple venait de la colonne compteur je crois bien :

    Nom : Capture.JPG
Affichages : 78
Taille : 43,3 Ko

    Parfait ! formule a conserver
    Images attachées Images attachées  

Discussions similaires

  1. Réponses: 24
    Dernier message: 14/03/2015, 09h09
  2. [Débutant] Compter des valeurs identiques sur une colonne Gridview
    Par dragoon25 dans le forum C#
    Réponses: 18
    Dernier message: 28/05/2014, 13h52
  3. [XL-2007] Recherche de la valeur # 0 sur une plage de 12 mois
    Par lebonprince dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 09/05/2010, 17h36
  4. [JpGraph] Mettre des valeurs manuellement sur une échelle
    Par Xandrine dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 26/06/2008, 11h11
  5. [Formule]recup de données sur une plage
    Par b.amine dans le forum Excel
    Réponses: 4
    Dernier message: 26/04/2007, 08h58

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