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 :

vba excel dernière ligne de la feuille de calcul


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
    retraité telecom
    Inscrit en
    Mai 2016
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 77
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : retraité telecom
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Mai 2016
    Messages : 64
    Par défaut vba excel dernière ligne de la feuille de calcul
    bonjour

    Je crée une application de gestion des bénévoles

    j'ai 4 pages ;

    données générales
    entre autre je crée une entrée dans la table combobox1 utilisée dans USERFORM1
    cela se fait en rallongement et j'obtiens la dernière ligne via

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    If MsgBox("Etes-vous certain de vouloir INSERER ce nouveau contact ?", vbYesNo, "Demande de confirmation") = vbYes Then 'condition : si oui au message
    l = Sheets("BASE DE GESTION").Range("a65536").End(xlUp).Row + 1 'Permet de se positionner sur la dernière ligne de tableau NON VIDE
    Else: Exit Sub
    End If
     
    ws.Range("A" & l).Value = (TextBox1 + TextBox8)
    ws.Range("B" & l).Value = TextBox1 
    ' ect ect
    J'utilise la même solution dans la gestion des compétences (USERFORM2)
    mais le résultat donne la ligne 0
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
       Cells(Columns(1).Cells.Count, 1).End(xlUp).Row + 1
    puis en regardant le tuto j'ai utilisé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    l = Sheets("liste competences par personnes").Cells(Columns(1).Cells.Count, 1).End(xlUp).Row + 1
    avec toujours 0 comme valeur

    J'ai parcouru l'explorateur, la doc mais je ne trouve rien

    je suis débutant


    si quelqu'un 'une) pouvait m'aider ce serait un grand plaisir car je dois finir ma tâche cette semaine

    merci d'avance


    si besoin je peux envoyer mon fichier

    cordialement

  2. #2
    Membre Expert Avatar de antonysansh
    Homme Profil pro
    Chargé d'études RH
    Inscrit en
    Mai 2014
    Messages
    1 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé d'études RH
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2014
    Messages : 1 115
    Par défaut
    Bonjour michelj64,

    Peut être :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    l = ThisWorkbook.Sheets("liste competences par personnes").Cells(Application.Rows.Count, 1).End(xlUp).Row + 1

  3. #3
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    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 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    Est-ce que ceci fonctionne ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    l = Sheets("liste competences par personnes").Cells(Rows.Count, 1).End(xlUp).Row + 1
    Si ce n'est pas le cas, merci de nous montrer la procédure complète, le problème est soit lié à la variable en elle-même, soit aux valeurs que tu lui affectes dans la procédure

  4. #4
    Membre confirmé
    Homme Profil pro
    retraité telecom
    Inscrit en
    Mai 2016
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 77
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : retraité telecom
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Mai 2016
    Messages : 64
    Par défaut réponse VBA dernière ligne
    bonjour

    le résultat est identique

    comment dois je faire pour l'envoi ?

    je pense que le mieux serait d'envoyer le fichier

    merci

    michel

  5. #5
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    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 169
    Billets dans le blog
    5
    Par défaut
    tu as justes à copier ton code VBA dans un message

    une fois que tu l'as copié, tu sélectionnes toutes les lignes et tu appuies sur le bouton qui représente un # (sur la partie haute du cadre où tu écris le message)

    ça va faire une mise en forme sur ton code, beaucoup plus pratique à lire pour nous

  6. #6
    Membre confirmé
    Homme Profil pro
    retraité telecom
    Inscrit en
    Mai 2016
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 77
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : retraité telecom
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Mai 2016
    Messages : 64
    Par défaut cela fonctionne
    double faute j'avais oublié de copier l dans ligne !!!!!!

    et cela marche

    suite2:
    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
    With ComboBox4
    MsgBox "1"
    Set ws4 = Sheets("liste competences par personnes")
    If MsgBox("Etes-vous certain de vouloir INSERER cette  nouvelle compétence ?", vbYesNo, "Demande de confirmation") = vbYes Then 'condition : si oui au message
    ' l = Sheets("liste competences par personnes").Range("a65536").End(xlUp).Row + 1 'Permet de se positionner sur la dernière ligne de tableau NON VIDE
    'l = Sheets("liste competences par personnes").Cells(Columns(1).Cells.Count, 1).End(xlUp).Row + 1
    l = Sheets("liste competences par personnes").Cells(Rows.Count, 1).End(xlUp).Row + 1
    
    Else: Exit Sub
    End If
    End With
    With ComboBox4
    ligne = l
      ws4.Cells(ligne, "A").Value = Me.ComboBox4    ' code+nom+prénom
      MsgBox "2"
      ws4.Cells(ligne, "B") = Me.TextBox4     ' code
      ws4.Cells(ligne, "C") = Me.TextBox5     ' nom
      ws4.Cells(ligne, "D") = Me.TextBox6     ' prénom
      ws4.Cells(ligne, "E") = Me.TextBox2     ' partage
    End With
    merci beaucoup

    michel

    je passe le pb résolu

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

Discussions similaires

  1. VBA (Excel) Supprimer lignes
    Par m-a-n-u dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 06/01/2008, 00h36
  2. [VBA Excel] problème de sélection de feuilles
    Par fab011 dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 02/06/2007, 15h09
  3. Réponses: 7
    Dernier message: 19/12/2006, 12h11
  4. [VBA Excel] export/sauvegarde d'une feuille excel .csv
    Par Paloma dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 05/12/2006, 12h07
  5. [VBA Excel] différentes plages sur différentes feuilles
    Par loacast dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 30/11/2005, 13h41

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