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 :

inserer une ligne dans un fichier excel [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2009
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 30
    Points : 34
    Points
    34
    Par défaut inserer une ligne dans un fichier excel
    bonjour
    je voudrais pouvoir ajouter une ligne de données dans un classeur contenant des données.
    j'aimerai que l'insertion se fasse a la dernière ligne(la premiere ligne apres le dernier enregistrement)
    cordialement
    salivie

  2. #2
    Membre actif Avatar de Duddy
    Homme Profil pro
    Agent de maitrise
    Inscrit en
    Novembre 2007
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France

    Informations professionnelles :
    Activité : Agent de maitrise
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2007
    Messages : 257
    Points : 237
    Points
    237
    Par défaut
    Bonjour,

    Voici une procédure qui me permet d'écrire des informations après la dernière ligne ayant des saisies.

    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
        Sub ReportRROB_ReportInfoRROB()
            ThisWorkbook.Sheets("Prochaine_Liste_RROBs").Activate
            If Cells(2, 1) <> "" Then
              Cells(1, 1).Select
                Selection.End(xlDown).Offset(1, 0).Select 'verif si cellule A2 pas vide
                'report des valeurs
                With Selection
                      .Offset(0, 0) = CStr(Ligne.Cells(1).Value)
                      .Offset(0, 1) = CStr(Ligne.Cells(4).Value)
                      .Offset(0, 2) = CStr(Ligne.Cells(8).Value)
                      .Offset(0, 3) = CStr(Ligne.Cells(9).Value)
                      .Offset(0, 4) = CStr(Ligne.Cells(10).Value)
                      .Offset(0, 5) = Format(Month(Now) - 1, "00")
                      .Offset(0, 6) = Format(Right(Year(Now), 2), "00")
                End With
            Else
                Cells(2, 1).Select
                'report des valeurs
                With Selection
                      .Offset(0, 0) = CStr(Ligne.Cells(1).Value)
                      .Offset(0, 1) = CStr(Ligne.Cells(4).Value)
                      .Offset(0, 2) = CStr(Ligne.Cells(8).Value)
                      .Offset(0, 3) = CStr(Ligne.Cells(9).Value)
                      .Offset(0, 4) = CStr(Ligne.Cells(10).Value)
                      .Offset(0, 5) = Format(Month(Now) - 1, "00")
                      .Offset(0, 6) = Format(Right(Year(Now), 2), "00")
                End With
            End If 'cells(2,1)<>""
     
            oWshMES.Activate
        End Sub
    Bien-sur, il est nécessaire de l'adapter à ton code.

    Bon courage

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2009
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 30
    Points : 34
    Points
    34
    Par défaut
    je comprend malheureusement rien a ton code!!!
    merci tout de même

  4. #4
    Membre chevronné Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Points : 1 999
    Points
    1 999
    Par défaut
    Bonjour,

    Pour trouver la dernière ligne nom vide dans une feuille (l'equivalent manuel est de se placer sur la dernière ligne et de faire CTRL + flêche du haut ) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Dim DerLig as long 
    ' derlig =  Cells(65536, 1).End(xlUp).Row  ' dernière ligne remplie
    derlig = Cells(65536, 1).End(xlUp).Row + 1 ' la ligne vide d'après

  5. #5
    Membre actif Avatar de Duddy
    Homme Profil pro
    Agent de maitrise
    Inscrit en
    Novembre 2007
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France

    Informations professionnelles :
    Activité : Agent de maitrise
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2007
    Messages : 257
    Points : 237
    Points
    237
    Par défaut
    Rebonjour,

    Je vais essayer de décrypter:

    En premier tu actives ta feuille
    Ensuite tu regardes si la cellule A2 est vide ou non

    si non, tu sélectionnes la cellule A1 et la formule va te positionner sur la dernière cellule non vide de la colonne A

    Ensuite, tu reportes par la propriété .OFFSET(0=même ligne, 1=colonne B) tes valeurs.

    En espérant avoir éclairé le morceau de code.

    Sinon, il faut débuter par la lecture des tutos qui sont très instructifs.

    Bon courage

  6. #6
    Membre expérimenté Avatar de laetitia
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 281
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 281
    Points : 1 512
    Points
    1 512
    Par défaut
    bonjour salivie marc58 aalex le forum une autre methode pour trouver la premiere ligne vide. pour ajouter des donnees pas assez d' infos de ta part !!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Option Explicit
    Sub test5()
    Dim c As Long
    c = Cells.Find("*", , , , , xlPrevious).Row + 1
    MsgBox c
    End Sub
    ps bien vu alex pour la gestion de l erreur si vide de plus je connaissais pas la derniere solution interessante a etudier a+

  7. #7
    Membre chevronné Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Points : 1 999
    Points
    1 999
    Par défaut
    Bonjour à tous,

    Sympa le code Laetitia, mais ou vas-tu chercher tout ça

    Si aucune cellule dans la feuille j'ai ajouté une gestion d'erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub test5()
    Dim c  As Long
    On Error Resume Next
    c = Cells.Find("*", , , , , xlPrevious).Row + 1
    On Error GoTo 0
     
    If c = Empty Then
        MsgBox "Aucune cellule n'est remplie "
    Else
        MsgBox c
    End If
    End Sub

    Edit : et encore une autre manière =>

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim ws As Worksheet : Set ws = Feuil1
    MsgBox Split(ws.UsedRange.Address, "$")(4) + 1

  8. #8
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2009
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 30
    Points : 34
    Points
    34
    Par défaut VBA-EXCEL
    sa c pour cherché le nombre totale des enregistrement(suffit d'incrementé "Nbrenregistrement " et pui inserer)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    dim cel as Range
    Set cel = Range("A1")      
    Nbrenregistrement = celM.End(xlDown).Row
    mais j'ai toujour pa eu de reponse pour l'insertion???
    si kelkun connai une fonction je lui serai reconnaissan
    cordialement salivie

  9. #9
    Expert éminent sénior Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Points : 31 877
    Points
    31 877
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DernLig=Range("A65536").End(xlUp).Row
    te donne la dernière ligne non vide de la colonne A.
    ta première ligne vide de la colonne A sera doncQu'entends tu par insérer? si tu peux expliquer davantage ce que tu cherches à faire?

  10. #10
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2009
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 30
    Points : 34
    Points
    34
    Par défaut VBA-EXCEL
    voila les données que j'aimerai insérer sont extraite de plusieurs autre fichier excel et traité puis stocké dans des variables.
    j'aimerai pouvoir insérer ces variables(données) que j'ai extraite dans un classeur excel.
    je m'explique

    (1ere ligne,1ere colonne)variable1(1ere ligne,2eme colonne)variable2...
    ainsi de suite merci

  11. #11
    Membre expérimenté Avatar de laetitia
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 281
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 281
    Points : 1 512
    Points
    1 512
    Par défaut
    rebonjour le fil un exemple sur la derniere ligne j 'insere 2 variables
    variable i & j sur les 2 premieres cellules
    variable i=essai
    variable j=1

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Option Explicit
    Sub test5()
    Dim c As Long, i As Variant, j As Variant
    i = "essai": j = 1
    c = Cells.Find("*", , , , , xlPrevious).Row + 1
    Cells(c, 1) = i: Cells(c, 2) = j
    End Sub

  12. #12
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2009
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 30
    Points : 34
    Points
    34
    Par défaut VBA-EXCEL
    merciiiiiiiiiiiiii ca marche

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

Discussions similaires

  1. [XL-2003] Récupérer le contenu d'une ligne dans un fichier excel (rapidement)
    Par kigrez dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 12/04/2010, 21h20
  2. Réponses: 1
    Dernier message: 10/04/2010, 07h16
  3. [Lazarus] Insérer une ligne dans un fichier Excel par OLE
    Par Yoanben dans le forum Lazarus
    Réponses: 0
    Dernier message: 01/04/2010, 07h49
  4. Réponses: 7
    Dernier message: 24/09/2008, 22h35
  5. [VBA] insérer une ligne dans un fichier excel
    Par cokinoumasterflash dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 21/07/2005, 18h52

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