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 :

Copier tableau si 1ière et dernière cellule de la 2ième ligne ont une valeur


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
    ouvrier chauffeur bus
    Inscrit en
    Octobre 2018
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : ouvrier chauffeur bus
    Secteur : Transports

    Informations forums :
    Inscription : Octobre 2018
    Messages : 50
    Par défaut Copier tableau si 1ière et dernière cellule de la 2ième ligne ont une valeur
    Bonjour,
    Je sollicite à nouveau votre aide pour réaliser une nouvelle macro que je tente d’adapter. J’ai 1 fichier avec 2 feuilles.
    Dans la Feuil1, il y a 3565 tableaux de 14 lignes et 325 colonnes par tableau
    TAB_1 (A1 : IA14)
    TAB_2 (A15 : IA28) …
    TAB_3565 (A49897 : IA49910)
    J’aimerais que la macro vérifie si la 1ière cellule et la dernière cellule de la 2ière ligne de chaque tableau ont un fond vert. Si c’est le cas, copier le tableau dans la Feuil2. Et ce pour les 3565 tableaux.
    Il y a déjà une macro que j’ai essayé d’adapter, hélas sans succès.
    Exemples :
    A) TAB_1 (A1 : IA14) : la 1ière cellule (AI5_fond blanc) et la dernière cellule (CZ5_fond blanc) ne répondent pas à la condition (1ére cellule et dernière cellule = fond vert) ne rien faire et passez au 2ième tableau.
    B) TAB_2 (A15 : IA28) : la 1ière cellule (AI19_fond vert) et la dernière cellule (CL19_fond blanc) ne répondent pas à la condition (1ére cellule et dernière cellule = fond vert) ne rien faire et passez au 3ième tableau.
    C) TAB_3 (A29 : IA42) : la 1ière cellule (AJ33_fond vert) et la dernière cellule (CR33_fond vert) répondent à la condition (1ére cellule et dernière cellule= fond vert) copier le TAB_3 à la Feuil2 et changer le fond vert en fond rouge pour les cellules (AJ33) et (CR33) ensuite passez au 4ième tableau.
    D) TAB_4 (A43 : IA56) : la 1ière cellule (AJ47_fond blanc) et la dernière cellule (DH47_fond vert) ne répondent pas à la condition (1ére cellule et dernière cellule = fond vert) ne rien faire et passez au 5ième tableau.
    E) TAB_5 (A57 : IA70) : la 1ière cellule (AQ61_fond blanc) et la dernière cellule (DF61_fond blanc) ne répondent pas à la condition (1ére cellule et dernière cellule = fond vert) ne rien faire et passez au 6ième tableau.
    F) TAB_6 (A71 : IA84) : la 1ière cellule (AI75_fond vert) et la dernière cellule (DG75_fond vert) répondent à la condition (1ére cellule et dernière cellule= fond vert) copier le TAB_6 à la Feuil2 et changer le fond vert en fond rouge pour les cellules (AI75) et (DG75) ensuite passez au 7ième tableau.
    G) Et ainsi de suite pour les 3565 tableaux.
    Dans le fichier joint, il y a la macro (M_1) que Thauthème à réaliser qui exécute les mêmes tâches mais pour la 1ière ligne de chaque tableau. Encore merci parce qu’elle fonctionne à merveille. Elle traite les 3565 tableaux en +/- 10 sec.
    Il y a également une macro (M_2) que j’ai essayé d’adapter sans succès.
    En espérant avoir été claire.
    Je vous remercie d’avance
    GEORGE_V
    Fichiers attachés Fichiers attachés

  2. #2
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    Bonjour
    encore une fois il faut deviner tes intentions non pas par la demande mais les exemples que tu fourni

    exemple tu dis
    Exemples :
    A) TAB_1 (A1 : IA14) : la 1ière cellule (AI5_fond blanc) et la dernière cellule (CZ5_fond blanc) ne répondent pas à la condition (1ére cellule et dernière cellule = fond vert) ne rien faire et passez au 2ième tableau.
    alors chez moi avec un Excel (produit sur terre) la 2d ligne c'est la ligne 2 et non 5 ,donc la 1ere cellule de la 2d ligne c'est la "A2" et non "AI5"
    et la dernière de la ligne 2 c'est la "IA2" et non "CZ5"

    alors peut être que ca a un sens pour toi mais il faudrait l'expliquer clairement car en l'état ca veux dire n'importe quoi
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  3. #3
    Membre confirmé
    Homme Profil pro
    ouvrier chauffeur bus
    Inscrit en
    Octobre 2018
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : ouvrier chauffeur bus
    Secteur : Transports

    Informations forums :
    Inscription : Octobre 2018
    Messages : 50
    Par défaut copier tableau ....
    Bonjour Patricktoulon,

    Merci d'avoir répondu.
    Descrition des tableaux :
    TAB_1 (A1 : IA14) :
    Ligne n°1 = n° d’ordre + date donc facultatif pour la macro
    Ligne n°2 = chiffres donc facultatif pour la macro
    Ligne n°3 = références donc facultatif pour la macro
    Ligne n°4 à n°13 = cellules fond vert et fond rouge à traiter par la macro
    La ligne n°1 correspond à la ligne n°4
    La ligne n°2 correspond à la ligne n°5
    La ligne n°3 correspond à la ligne n°6
    Et ainsi de suite.

    A+


    GEORGE_V

  4. #4
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    re
    ta description ne m'apporte aucune aide
    ton titre c'est Copier tableau si 1ière et dernière cellule de la 2ième ligne ont une valeur
    donc pour le tableau A1:AI14 se sera A2 et AI2 si il y a des valeurs
    autrement dit

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    dim tableau as range ,crit as boolean
    set tableau=range("A1:AI14") 
    crit=tableau.cells(2,1)<>"" and tableau.cells(2,tableau.columns.count)<>""
    if crit then tableau.copy destination:= sheets("toto").range(X,Y)
    c'est pas plus compliqué que cela
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  5. #5
    Membre confirmé
    Homme Profil pro
    ouvrier chauffeur bus
    Inscrit en
    Octobre 2018
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : ouvrier chauffeur bus
    Secteur : Transports

    Informations forums :
    Inscription : Octobre 2018
    Messages : 50
    Par défaut Copier tableau...
    Bonjour Patricktoulon,

    Désolé pour le titre.
    En réalité, si la 1ière et la dernière cellule de la ligne n°5 sont à fond vert alors copier le tableau en Feuil2.


    A+


    GEORGE_V

  6. #6
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    re
    dans ce cas c'est tout aussi simple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    dim tableau as range ,crit as boolean
    set tableau=range("A1:AI14") 
    crit=tableau.cells(5,1).interior.color=vbgreen and tableau.cells(5,tableau.columns.count).interior.color=vbgreen
    if crit then tableau.copy destination:= sheets("toto").range(X,Y)
    bon pour le vert j'ai mis le vert de base tu n'a cas mettre ta couleur si c'est pas le vert de base
    adapte "toto" et X,Y pour la firstcell de destination
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

Discussions similaires

  1. [XL-2016] Sélectionner la dernière cellule de la première ligne
    Par Yoann91590 dans le forum Excel
    Réponses: 4
    Dernier message: 10/08/2018, 16h12
  2. Réponses: 10
    Dernier message: 03/03/2018, 21h03
  3. Dernière cellule non vide et ligne correspondante
    Par Phixidor dans le forum Excel
    Réponses: 3
    Dernier message: 29/03/2013, 12h53
  4. [XL-2003] Recopier une ligne selon une valeur d'une cellule donnée.
    Par bokgkik dans le forum Excel
    Réponses: 2
    Dernier message: 07/12/2011, 20h00
  5. Réponses: 1
    Dernier message: 12/12/2007, 14h38

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