Extraire des plages de données

Etienne -  
 olivier -
Bonjour,

Je suis en train de traiter une base de données et je cherche des astuces pour automatiser ma tâche, voilà le problème :

J'ai deux colonnes, celle de gauche avec des nombres, celle de droite avec des mails

Comment puis-je faire pour extraire de ces deux colonnes les plages de cellules de la forme suivante :
- Un rectangle de 6 cases (2 colonnes et 3 lignes)
- Cellule en haut à gauche : nombre
- Cellule en bas à droite : mail
- Autres cellules de la plage : vides

Cordialement,

3 réponses

  1. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    Bonjour Etienne

    Un exemple à adapter à tes données :
    https://www.cjoint.com/c/GHDlqQqHiOI

    Puisque les cellules à remplir vont de 3 en 3 on ne retient avec la fonction MOD que celles dont le reste de la division par 3 donne 0 et par une fonction affine on transforme le n° de ligne du nouveau tableau pour retrouver celui de la ligne du tableau de base dont la valeur est renvoyée par une fonction INDIRECT

    Cdlmnt
    Via
    1
    1. Etienne
       
      Merci pour cette réponse mais j'ai oublié de préciser que les plages de cellules qui m'intéressaient sont espacées à intervalles irréguliers

      Exemple dans ce fichier : http://www.cjoint.com/c/GHDnC7HJ6q8

      PS : pas besoin d'aligner les valeurs dans le nouveau tableau

      Cordialement,
      0
  2. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    Il n'y a aucune logique exploitable par formule donc il faut passer par une macro en VBA
    Pourquoi dans la 2eme étape il y a 4 colonnes ?
    On ne doit retenir que les valeurs en A avec un autre dans la colonne B 2 lignes plus bas ?
    0
    1. Etienne
       
      Mince, je ne manie pas encore le VBA, une solution que je pourrais "copier/coller" dans ce cas ?

      Dans la 2ème étape : simplement pour montrer que je souhaite transposer les plages de cellules qui m'intéressent à côté des deux colonnes initiales (dans la 1ère étape je surligne les bords des plages de cellules qui m'intéresse pour vous illustrer ce que je cherche, tout comme dans la 2ème étape pour montrer que je les ai extraite des deux colonnes initiales pour les mettre à droite dans deux nouvelles colonnes - d'où les 4 colonnes à la fin)
      0
      1. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759 > Etienne
         
        Si c'est ça tu as aussi vite fait de selectionner et déplacer les plages qui t’intéressent à la main
        Avec une macro il faudra lancer la macro pour chaque plage
        A moins que quelqu'un voit une autre solution

        Cdlmnt
        Via
        0
    2. Etienne
       
      le problème est que mon fichier fait 58 000 lignes... Merci d'avoir pris le temps de m'aider en tout cas !
      0
  3. olivier
     
    Bonjour Etienne,

    Fichier Excel 2007 : https://mon-partage.fr/f/lX3K39CZ/

    En B19 : "e" : pas de signe « @ » =>
    ce n'est pas une adresse mail valide :
    elle ne sortira pas dans les résultats.

    Ctrl e => travail fait

    Note que pour éviter d'éventuelles nombreuses lignes vides,
    j'écris tes blocs les uns en dessous des autres ; si vraiment
    tu préfères en face de tes blocs de la colonne A, tu peux
    me demander une adaptation.

    Merci de me donner ton avis.

    Cordialement
     
    0