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 :

Petit soucis de la syntaxe d'une macro [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2015
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Algérie

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Avril 2015
    Messages : 86
    Points : 55
    Points
    55
    Par défaut Petit soucis de la syntaxe d'une macro
    Bonjour

    je cherche a modifier cette ligne de la macro à ce qu'au lieu de compter toute les cellules de colonne A le comptage débute de la cellule A12 jusqu'à A100

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    derniereLigne = Range("A" & Rows.Count).End(xlUp).Row
    Merci mes amis

  2. #2
    Membre émérite
    Inscrit en
    Octobre 2010
    Messages
    1 401
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 401
    Points : 2 684
    Points
    2 684
    Par défaut
    Bonjour.

    Veux-tu dire que tu veux le numéro de ligne de la dernière cellule non vide du Range("A12:A100") ?

  3. #3
    Membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2015
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Algérie

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Avril 2015
    Messages : 86
    Points : 55
    Points
    55
    Par défaut
    Bonjour Docmarti

    ofaite ce que je veux dire récupérer le numéro de la dernière ligne non vide juste de la zone A12 A100 c'est à dire il ignore les cellule d'avant 12 et après 101 en d'autre terme uniquement ce qui se trouve dans la plage A12 A100

    Merci

  4. #4
    Membre émérite
    Inscrit en
    Octobre 2010
    Messages
    1 401
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 401
    Points : 2 684
    Points
    2 684
    Par défaut
    Citation Envoyé par INFINITY100 Voir le message
    Bonjour Docmarti

    ofaite ce que je veux dire récupérer le numéro de la dernière ligne non vide juste de la zone A12 A100 c'est à dire il ignore les cellule d'avant 12 et après 101 en d'autre terme uniquement ce qui se trouve dans la plage A12 A100

    Merci
    Voici 2 techniques différentes, mais tout aussi efficaces l'une que l'autre.
    EDIT: A adapter selon ce que tu veux comme résultat si toutes les cellules sont vides.
    EDIT: A adapter aussi selon que tu veux tenir compte de la présence d'une formule dans les cellules ou seulement de valeurs.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub TechniqueSimple()
     
    For i = 100 To 12 Step -1
     
    If Cells(i, 2).Value <> "" Then dernligneNonVide = i: Exit For
     
    Next
     
    End Sub

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub TechniqueUtilisantFIND()
     
    Set r = Range("A12:a100")
     
    With r
     
     Set rg = .Find(what:="*", After:=.Cells(1, 1), SearchDirection:=xlPrevious, LookIn:=xlValues, LookAt:=xlPart)
     
    End With
     
     If rg Is Nothing Then DernLigne = r.Row Else DernLigne = rg.Row
     
    End Sub

  5. #5
    Expert éminent
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Points : 6 871
    Points
    6 871
    Par défaut
    Bonjour,

    Une autre piste :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Sub Test()
     
        Dim Lgn As Integer
     
        With Range("A12:A101") 'définie à 101 pour que la recherche commence à la ligne 100
     
            Lgn = .Cells(.Rows.Count, 1).End(xlUp).Row
     
        End With
     
        MsgBox Lgn
     
    End Sub
    Hervé.

  6. #6
    Membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2015
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Algérie

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Avril 2015
    Messages : 86
    Points : 55
    Points
    55
    Par défaut
    Bonsoir

    Merci mes amis pour vos réponses c'est très gentil les macros fonctionnent mais elles donnent pas le résultat voulu

    Donc voila pour être plus claire je joins le fichier de ce que je veux avoir comme résultat

    Cordialement
    Fichiers attachés Fichiers attachés

  7. #7
    Expert éminent sénior
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Points : 11 272
    Points
    11 272

  8. #8
    Expert éminent

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 138
    Points : 9 972
    Points
    9 972
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    visiblement y'a quiproquo

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub Combien()
    MsgBox Application.WorksheetFunction.CountA(Range("A12", "A100"))
    End Sub

  9. #9
    Membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2015
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Algérie

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Avril 2015
    Messages : 86
    Points : 55
    Points
    55
    Par défaut
    Merci beaucoup joe.levrai

    c'est exactement le résultat attendu

    je salut aussi au passage mes amis : Docmarti - theze - kiki29

    Tous très gentil

    Merci

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

Discussions similaires

  1. Aide pour comprendre la syntaxe d'une macro
    Par virtuadrack dans le forum C
    Réponses: 6
    Dernier message: 28/10/2009, 12h38
  2. syntaxe d'une macro du précompilateur
    Par babanjida dans le forum C++
    Réponses: 2
    Dernier message: 30/04/2009, 20h03
  3. outil/méthode pour vérifier la syntaxe d'une macro
    Par Anouschka dans le forum Linux
    Réponses: 2
    Dernier message: 16/11/2007, 14h05
  4. Petit soucis avec Thread::Queue et une classe
    Par vodevil dans le forum Web
    Réponses: 16
    Dernier message: 09/06/2006, 21h41
  5. Petit souci sur la libération d'une connexion tcp
    Par alexandre75 dans le forum Développement
    Réponses: 1
    Dernier message: 08/11/2005, 19h43

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