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 :

Récupérer le n° de la dernière ligne renseignée d'une colonne [XL-2016]


Sujet :

Macros et VBA Excel

  1. #1
    Membre éprouvé
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2017
    Messages
    1 291
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juillet 2017
    Messages : 1 291
    Par défaut Récupérer le n° de la dernière ligne renseignée d'une colonne
    Bonjour,

    pour un besoin de mise en page j'ai besoin de récupérer le numéro de la ligne correspondant à la dernière cellule d'une colonne ayant un contenu (pas la première libre, il y a des cellules blanches dans la colonne)

    j'ai fait une boucle en arrière à partir de la ligne 2000 jusqu'à 1 pour détecter cette ligne mais je pense qu'on peut faire mieux et plus propre...

  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
    re
    bonsoir retraité

    derniere cellule renseignée dans "A"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MsgBox Cells(Rows.Count, "A").End(xlUp).mergearea.Address
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    msgbox range("A" & rows.count).end(xlup).mergearea.address
    les mergearea c'est au cas ou la derniere cellule utilisée serait une fusion
    prcicser le parent au cas ou tu travailerais pas sur le sheets actif
    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 actif
    Homme Profil pro
    Ingénieur
    Inscrit en
    Septembre 2017
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

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

    Informations forums :
    Inscription : Septembre 2017
    Messages : 132
    Par défaut
    Bonjour,

    La propriété .Count permet également d'arriver à ce résultat. Je trouve que c'est plus intuitif :

    (Je ferai un edit pour les balises code car elles n'apparaissent pas sur mon portable)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Dim DerniereLigne As Integer
    DerniereLigne = Feuil1.UsedRange.Rows.Count
     
    Dim DerniereLigneColonneA As Integer
    DerniereLigneColonneA = Feuil1.Range("A:A").Rows.Count
    On peut également utiliser des boucles et tester le type de donnée dans la cellule en utilisant VarType. La cellule de type vbEmpty est la première cellule vide donc elle suit ta dernière cellule renseignée. Cela ne fonctionne pas si toutes les cellules ne sont pas pleines du coup (on peut faire des adaptations mais cela n'est pas la meilleure voie à mon avis)

  4. #4
    Expert confirmé
    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
    Par défaut
    Bonjour,

    Nagel Tha, tu es sûr de ce que tu avance pour trouver la dernière cellule non vide avec le code ci-dessous ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Dim DerniereLigneColonneA As Integer
    DerniereLigneColonneA = Feuil1.Range("A:A").Rows.Count
    Déjà, depuis Excel 2007, il est préférable de déclarer les variables servant à retourner le numéro de la dernière cellule non vide en Long et non en Integer.
    ton code peut être simplifié avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Dim DerniereLigneColonneA As Long
    DerniereLigneColonneA = Rows.Count
    Et surtout, avec ce code il n'y a pas pire pour avoir des résultats surprenant donc, à éviter absolument "UsedRange" quand c'est le numéro de la dernière cellule non vide que l'on veux retourner :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Dim DerniereLigne As Integer
    DerniereLigne = Feuil1.UsedRange.Rows.Count
    Pour te le prouver, tu entres des valeurs dans une feuille vierge puis tu exécutes ton code avec un MsgBox ensuite, plus bas dans la feuille et où tu veux, tu changes juste le formatage d'une cellule sans y entrer quoi que ce soit comme valeur, par exemple mettre la fonte en couleur rouge et tu exécutes à nouveau ton code, je doute que tu es la même valeur que précédemment.
    Pour retourner la plage (rectangle) de la zone utilisée d'une feuille, il est préférable d'utiliser une fonction comme celle-ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    Function DefPlage(Fe As Worksheet, Optional L As Long = 1, Optional C As Long = 1) As Range
     
        On Error GoTo Fin
     
        With Fe
     
            Set DefPlage = .Range(.Cells(L, C), _
                           .Cells(.Cells.Find("*", .[A1], -4123, , _
                           1, 2).Row, .Cells.Find("*", .[A1], -4123, , _
                           2, 2).Column))
     
        End With
     
        Exit Function
     
    Fin:
     
        Set DefPlage = Nothing
     
    End Function

  5. #5
    Membre éprouvé
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2017
    Messages
    1 291
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juillet 2017
    Messages : 1 291
    Par défaut
    Bonjour Patrick,

    merci, je récupère bien pour la colonne E
    $E$xxxx
    je vais me débrouiller pour ne garder que xxxx


    Bonjour Theze,

    j'ai essayer

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim DerniereLigneColonneA As Long
    DerniereLigneColonneA = Rows.Count
    j'obtiens 1048576 la dernière ligne de mon Excel pas la dernière non vide

  6. #6
    Expert éminent

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 587
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 587
    Par défaut
    Bonjour
    Citation Envoyé par retraite83 Voir le message
    Bonjour Patrick,

    merci, je récupère bien pour la colonne E

    je vais me débrouiller pour ne garder que xxxx
    Remplace address par row mais si fusion il faut prévoir
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MsgBox Range("A" & Rows.Count).End(xlUp).MergeArea.Row + Range("A" & Rows.Count).End(xlUp).MergeArea.Rows.Count - 1
    Edit salut Patrick, collision

  7. #7
    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
    retraité
    pour ligne c'est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cells(rows.count,"A").end(xlup).row
    ou la meme avec range comme je t'ai montré

    Nagel tha revise tes bases tes chaussures marchent a coté de toi la
    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

  8. #8
    Membre éprouvé
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2017
    Messages
    1 291
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juillet 2017
    Messages : 1 291
    Par défaut
    J'ai fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    ligSuivi = Cells(Rows.Count, "C").End(xlUp).MergeArea.Address    
    ligSuivi = Right(ligSuivi, Len(ligSuivi) - 3)
    cela marche très bien

  9. #9
    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
    ou lalalalala!!!!!! non non non !!!!
    en voila une drole d'idée tient

    retraité ne fait jamais ca , n'utilise jamais right(address,x) surtout pas !!!!!! tu sais pas si c'est plus de 100,1000,10000

    imagine que la derniere ligne c'est "A35294" et ben ton rigth(3) walouh walouh!!!!!
    et de toute les facon tu a comme je te l'ai montré la fonction .end(xlup) couplé a la propriété "row" qui fait exactement ce que tu veux


    la derniere ligne utilisée a toujours été un sujet epineux dans le sens ou c'est selon le contexte on utilisera une methose ou une autre

    si tu avais demandé la derniere ligne renseigné DANS plusieurs colonne(une plage quoi) on aurais utilisé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    usedrange.cells(usedrange.cells.count).row
    voir
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    range(marange).find(what:="*" ,argument,,,...xlpreviews)
    je te laisse taper F1 dans VBE pour te documenter la dessus
    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

  10. #10
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Ta formule ne fonctionne que pour les 26 première colonnes.
    Celle-ci est plus fiable :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ligSuivi = Split(Cells(Rows.Count, "C").End(xlUp).MergeArea.Address,"$")(2)
    Mais je ne vois pas trop l'intérêt de ne pas utiliser Row qui fait la même chose plus simplement.
    Perso, je n'utilise Split sur Address que pour récupérer la lettre d'une colonne.

  11. #11
    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
    attention menhir
    avec l'utilisation de mergearea il faut aller un peu plus loin pour row

    car si c'est une fusion row te donnera la ligne de la cells(1) de la fusion

    la encore une fois tout dependra du besoins dans son contexte

    beaucoup ont des reticenses avec les fusions justement a cause de ca

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    nextcell= cells(rows.count,"A").end(xlup).mergearea
    derligne=nextcell.cells(nextcell.cells.count).row
    dans une petite formule qui va bien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Sub test()
    With sheets("toto").Cells(Rows.Count, "A").End(xlUp).MergeArea: ligne = .Cells(.Cells.Count).Row: End With
    MsgBox ligne
    End Sub
    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

  12. #12
    Membre éprouvé
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2017
    Messages
    1 291
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juillet 2017
    Messages : 1 291
    Par défaut
    Pour une fois Patrick je ne suis pas d'accord avec toi (ou je progresse ou je me plante…)

    quand je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    ligSuivi = Cells(Rows.Count, "C").End(xlUp).MergeArea.Address    
    ligSuivi = Right(ligSuivi, Len(ligSuivi) - 3)
    j'ai toujours le n° de la ligne

    je récupère le N° de ligne sous la forme
    $C$xx ou $C$xxx ou $C$xxxx
    Et le résultat est toujours
    xx ou xxx ou xxxx
    je suis d'accord il faut que cela soit dans les 26 premières colonnes, mais le cas

  13. #13
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par patricktoulon Voir le message
    attention menhir
    avec l'utilisation de mergearea il faut aller un peu plus loin pour [B]row
    Mon message #10 est arrivé en dessous du tien mais en fait je répondais au #8.
    J'aurais du mettre une citation. Mea Culpa.

  14. #14
    Membre Expert
    Homme Profil pro
    PAO
    Inscrit en
    Octobre 2014
    Messages
    2 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : PAO
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Octobre 2014
    Messages : 2 576
    Par défaut
    Bonjour,


    Rows.Count indique simplement le nombre de lignes qu'il y a dans une feuille et non la dernière ligne renseignée.

    Edit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    ? Feuil1.Range("A72:A236").Rows.Count ' Nombre de lignes compris entre A72 et A236
     
    ? Feuil1.Range("A:A").Rows.Count ' Nombre de lignes total de la feuille
     
    ' Ces 2 codes donnent en aucun cas la dernière ligne renseignée
    Cordialement
    Ryu

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. – Albert Einstein

    Pensez à la Balise [ CODE][/CODE ] - à utiliser via le bouton # => Exemple

    Une fois votre problème solutionné pensez à mettre :resolu: en n'oubliant pas d'indiquer qu'elle est la solution finale choisie ;)

  15. #15
    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
    Citation Envoyé par retraite83 Voir le message
    Pour une fois Patrick je ne suis pas d'accord avec toi (ou je progresse ou je me plante…)

    quand je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    ligSuivi = Cells(Rows.Count, "C").End(xlUp).MergeArea.Address    
    ligSuivi = Right(ligSuivi, Len(ligSuivi) - 3)
    j'ai toujours le n° de la ligne

    je récupère le N° de ligne sous la forme


    Et le résultat est toujours


    je suis d'accord il faut que cela soit dans les 26 premières colonnes, mais le cas
    re allons allons retraité voyons
    ton code ne fonctionnera que jusqu'a la ligne 999 et surtout la colonne 26 sera un max a ne pas depasser avec t methode

    fait ce simple test pour voir
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub test()
    MsgBox "c'est la ligne " & Right(Range("A54235").Address, 3)
    End Sub
    surprise pas surprise !!!! ca marche pas

    apart le split pour couper l'address d'une plage et encore !!!! tout les outinls string de manipulation de chaine est a proscrire !!!!!

    qu'est ce qui peut bien te perturber dans sheets("toto").cells(rows.count,colonne).end(xlup).(facultatif:mergearea).row
    je suis assez friand des questions tordu ou enigmatique mais toi tu depasse le ponpon
    tu prends souvent des chemins a ralonge et c'est pas la premiere fois que je le remarque (c'est bien mais que pour l'exercice de style et la gymnastique pas pour un code perenne )
    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

  16. #16
    Membre éprouvé
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2017
    Messages
    1 291
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juillet 2017
    Messages : 1 291
    Par défaut
    Re Patrick,

    vas voir mon fichier joint, ca marche bien avec $C$1091, je récupéré bien 1091 effectivement je comprends pas pourquoi en décalant à droite de 3 ça marche...
    Images attachées Images attachées  

  17. #17
    Expert confirmé
    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
    Par défaut
    Re,

    Dans ces cas-là je vois pas l'intérêt de me mettre un pouce rouge
    Nagel Tha, ce n'est pas moi qui mets des pouces (ni rouges ni verts dailleurs) je ne suis plus un enfant (et depuis bien longtemps) pour jouer à ça, mes réponses sont faites dans le sens "éducation" et non "critique" et quand je dis qu'il faut faire attention avec UsedRange c'est que je l'ai appris à mes dépends et donc, je veux juste faire partager mes expériences et quand tu affirme que :
    Renvoie bien le nombre de lignes de la colonne utilisée et c'est la solution la plus simple.
    je vois bien que tu n'as pas testé ma proposition !
    Ne prends pas la mouche quand on te reprend sur certaines choses que tu affirmes et qui ne sont pas forcément vrai.

  18. #18
    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
    vas voir mon fichier joint, ca marche bien avec $C$1091, je récupéré bien 1091 effectivement je comprends pas pourquoi en décalant à droite de 3 ça marche...
    oui jusqu'a la colonne 26 "Z" apres walouih!!! faut tout revoir que fait ut ? tu refait un code a chaque fois c'est ca ?

    essaie avec la colonne 27 "AB" par exemple tu va etre decu

    mais je vais pas te forcer a quoi que ce soit si tu veux faire comme ca et bien fait
    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

  19. #19
    Membre éprouvé
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2017
    Messages
    1 291
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juillet 2017
    Messages : 1 291
    Par défaut
    Oui Patrick tu as raison dans le principe mais je veux juste récupérer le N° de la ligne comportant le dernier n° de facture, donc la colonne "C" dans mon cas

    Je vois bien que cela ne marche pas à partir de la colonne AA mais ce n'est pas grave dans mon cas

  20. #20
    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
    comme je te l'ai dis OK
    mais pourquoi n'utilise tu pas la fonction native qui le fait tout seul alors plutot que ton truc ? c'est absurde
    c'est un peu le proverbe de "tout les chemins mennent a rome" mais toi tu prends le plus long
    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

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [XL-2007] Récupérer la valeur de la dernière cellule active d'une colonne
    Par Coucou17 dans le forum Excel
    Réponses: 4
    Dernier message: 11/12/2016, 22h33
  2. Réponses: 2
    Dernier message: 28/08/2009, 16h43
  3. [H2Database] Obtenir la dernière ligne créée dans une table
    Par jmnicolas dans le forum Autres SGBD
    Réponses: 2
    Dernier message: 26/06/2008, 11h28
  4. Recuperer la dernière ligne entrée dans une table
    Par ITCsoft54 dans le forum Langage SQL
    Réponses: 7
    Dernier message: 07/11/2007, 21h39

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