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 :

Comment détecter une cellule


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Inscrit en
    Novembre 2008
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 62
    Points : 29
    Points
    29
    Par défaut Comment détecter une cellule
    Bonjour à toutes et à tous,

    Comment détecter la première cellule différente d'espace vide d'une colonne (en partant du haut vers le bas) pour transférer son contenu dans une autre cellule sans macro (je ne maitrise pas).

    Nom : PHOTO ECRAN.jpg
Affichages : 173
Taille : 112,6 Ko

    Autrement dit comment détecter la cellule 21 de la colonne C (cellule rouge) pour pouvoir l'afficher en J4 (cellule verte).

    D'avance merci,

    Cordialement,

    ALBAN

  2. #2
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut
    Bonjour,

    comme c'est expliqué un peu partout sur ce forum entre les tutoriels, la FAQ et les discussions,
    voici la voie du B-A-BA d'Excel accessible donc aux grands débutants :

    • manuellement dans la feuille de calculs sélectionner la cellule C1
    • au clavier combiner les touches Ctrl et la flèche de curseur vers le bas : voilà tu es sur la cellule C22 !

    • En activant l'Enregistreur de macros au préalable puis en réitérant la manipulation, une base de code est livrée sur un plateau …

    Autre voie possible via la méthode Range.Find

    ___________________________________________________________________________________________________________
    Je suis Paris, London, Istanbul, Berlin, Nice, Bruxelles, Charlie, …
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  3. #3
    Nouveau membre du Club
    Inscrit en
    Novembre 2008
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 62
    Points : 29
    Points
    29
    Par défaut
    Merci, je ne maitrise pas les macro et ce n'est pas à 70 ans que je vais m'y mettre !

  4. #4
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut




    On se demande alors pourquoi avoir créé cette discussion dans ce forum dédié au VBA ?‼
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  5. #5
    Membre émérite
    Femme Profil pro
    Ingénieur
    Inscrit en
    Octobre 2016
    Messages
    1 703
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 29
    Localisation : France, Indre et Loire (Centre)

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

    Informations forums :
    Inscription : Octobre 2016
    Messages : 1 703
    Points : 2 813
    Points
    2 813
    Par défaut
    Bonjour,
    Sur l'image, je vois qu'il y a 7 cases autour de vendredi, cela veut-il dire que parfois c'est la case vendredi qui est remplie, mais parfois la case jeudi, parfois las case lundi .... ?
    Si c'est le cas, tu peux utiliser une fonction SI :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(ESTVIDE(B9);SI(ESTVIDE(B12);SI(ESTVIDE(B15);SI(ESTVIDE(B18);SI(ESTVIDE(B21);SI(ESTVIDE(B24);SI(ESTVIDE(B27);"";C27);C24);C21);C18);C15);C12);C9)
    Tu regardes si chacune des cellules est vide, si elle l'est tu regardes la prochaine cellule, si elle ne l'est pas tu prends la valeurs de la cellule d'à côté.

  6. #6
    Nouveau membre du Club
    Inscrit en
    Novembre 2008
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 62
    Points : 29
    Points
    29
    Par défaut
    Merci Riaolle pour ton aide,

    Oui c'est une feuille de prise de tension, on peut la commencer n'importe quel jour de la semaine et continuer de la remplir les jours suivants.

    Avec ta formule ça fonctionne si l'on commence à remplir cette feuille le lundi en inscrivant la tension dans les cellules H9 à P9 et H10 à P10 mais pas pour les autres jours.

    Cordialement,

    Alban

  7. #7
    Membre émérite
    Femme Profil pro
    Ingénieur
    Inscrit en
    Octobre 2016
    Messages
    1 703
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 29
    Localisation : France, Indre et Loire (Centre)

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

    Informations forums :
    Inscription : Octobre 2016
    Messages : 1 703
    Points : 2 813
    Points
    2 813
    Par défaut
    Je ne comprends pas bien. Est-ce que tu veux récupérer la première cellule remplies? Il faut qu'il y ait une logique : comment repérer la cellule à récupérer?

  8. #8
    Nouveau membre du Club
    Inscrit en
    Novembre 2008
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 62
    Points : 29
    Points
    29
    Par défaut
    Oui, C'est le fait de rentrer les tensions en H9 à P9 et H10 à P10 qui fait afficher automatiquement le jour en B9 et la date en C9 pour LUNDI
    H12 à P12 et H13 à P13 B12 C12 pour MARDI
    H15 à P15 et H16 à P16 B15 C15 pour MERCREDI etc .............

  9. #9
    Membre émérite
    Femme Profil pro
    Ingénieur
    Inscrit en
    Octobre 2016
    Messages
    1 703
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 29
    Localisation : France, Indre et Loire (Centre)

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

    Informations forums :
    Inscription : Octobre 2016
    Messages : 1 703
    Points : 2 813
    Points
    2 813
    Par défaut
    Je suis désolée, mais j'ai vraiment du mal à comprendre où repose ton soucis
    La formule que je t'ai donné fait la chose suivante : on regarde si la première cellule (B9) est vide, si elle ne l'est pas, elle écrit son contenu en J4, si elle est vide, on regarde la prochaine cellule (B12), si elle n'est pas vide, on récupère le contenu de cette cellule, sinon on regarde la prochaine cellule etc...
    Du coup, en résumé : en J4, on récupère le contenu de la 1ère cellule non vide parmis les cellules B9, B12, B15, B18, B21, B24 et B27.

    Mais y a-t-il des formules dans les cellules B9, B12, B15, B18, B21, B24 et B27? Si oui, alors, je crois comprendre ton problème. ESTVIDE vérifie si la cellule est vide, donc s'il y a des formules ... ben la cellule n'est pas vide. On va donc plutôt vérifier si la valeur de la cellule est égale à rien (""). Essaie avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(B9="";SI(B12="";SI(B15="";SI(B18="";SI(B21="";SI(B24="";SI(B27="";"";C27);C24);C21);C18);C15);C12);C9)

  10. #10
    Nouveau membre du Club
    Inscrit en
    Novembre 2008
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 62
    Points : 29
    Points
    29
    Par défaut
    OK là ça fonctionne 5/5

    Un grand merci pour ton aide Riaolle

    Bien cordialement,

    Alban

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

Discussions similaires

  1. Comment détecter une tentative de saisie dans une cellule verrouillée ?
    Par antonysansh dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 15/01/2016, 08h24
  2. Comment détecter une erreur dans un process
    Par chuckboy dans le forum MFC
    Réponses: 3
    Dernier message: 25/10/2005, 10h40
  3. Comment nommer une cellule
    Par Zebulon777 dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 16/03/2005, 14h29
  4. [VCL] Comment détecter une combinaison de touches ?
    Par micatmidog dans le forum Composants VCL
    Réponses: 3
    Dernier message: 23/01/2005, 14h19
  5. TCustomGrid, comment bloquer une cellule ?
    Par Merfolk dans le forum C++Builder
    Réponses: 3
    Dernier message: 14/04/2004, 13h55

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