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 :

Détecter la première cellule non vide


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Inscrit en
    Mars 2008
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 1
    Par défaut Détecter la première cellule non vide
    Bonjour,

    ça fait des jours que je suis entrain de chercher une macro pour exécuter les instructions suivantes:

    1-sélectionner une plage
    2-détecter la première cellule non vide
    3-sélectionner & extraire 30 cellules avant cette cellule non vide et 30 cellules après la même cellule non vide.
    4-répéter la même macro sur plusieurs lignes

    La macro a pour but de détecter la première valeur différente de zéro (exemple cellule rouge) puis copier les 30 cellules avant cette valeur (cellules en jaune) et 30 cellules après cette valeur (cellules en bleu).
    pour répéter le même processus aux autres numéros.


    Autrement, regarger la première cellule non vide du range (cells(i,116),cells(i,198), prendre 30 cellule avant puis 30 cellules après cet valeur, refaire le même travail pour chaque ligne.
    coller les cellules sous formes de tableau [30 jours avant]-[30 jours après].

  2. #2
    Membre émérite Avatar de sabzzz
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    748
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 748
    Par défaut
    bonjour daocasa,

    je te propose un exemple pour définir la plage,
    -détecter la première cellule non vide
    -sélectionner 30 cellules avant cette cellule non vide et 30 cellules après la même cellule non vide.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    'recheche sur une selection en ligne
    'trouver le numéro de colonne de la premiere cellule non vide de la selection
    'selection pour le test
    Range("A1:BN1").Select
    y = Selection.Find("*", After:=Range(Selection(1, 1).Address), LookIn:=xlValues).Column
    'selectionner la plage en "ligne" de la ColonneTrouvé -30 à ColonneTrouvé +30
    Range(Cells(Selection.Row, y - 30), Cells(Selection.Row, y + 30)).Select
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    'recheche sur une selection en colonne
    'trouver le numéro de ligne de la premiere cellule non vide de la selection
    'selection pour le test
    Range("A1:A63").Select
    x = Selection.Find("*", After:=Range(Selection(1, 1).Address), LookIn:=xlValues).Row
    'selectionner la plage en "colonne" de la  LigneTrouvé -30 à la LigneTrouvé +30
    Range(Cells(x - 30, Selection.Column), Cells(x + 30, Selection.Column)).Select
    il faut impérativement que la cellule trouvée soit en position ligne au minimun à la ligne 31, ou en position colonne au minimun à AE sinon message d'erreur.

    si tu nous disais la difficulté que tu rencontre, nous pourrions aller plus avant.

Discussions similaires

  1. Réponses: 0
    Dernier message: 04/09/2013, 17h05
  2. [XL-2007] Première cellule non vide
    Par Claude.Gabet dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 15/04/2012, 10h17
  3. [XL-2007] recherche première cellule non vide dans une ligne
    Par tigrou530 dans le forum Excel
    Réponses: 3
    Dernier message: 23/02/2012, 13h21
  4. [XL-2003] Détection de la première cellule non vide
    Par Monfy29 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 16/02/2012, 14h29
  5. Réponses: 5
    Dernier message: 22/08/2007, 18h42

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