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

Excel Discussion :

Mettre valeur dans dernière ligne


Sujet :

Excel

  1. #1
    Membre du Club
    Inscrit en
    Septembre 2007
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 72
    Points : 43
    Points
    43
    Par défaut Mettre valeur dans dernière ligne
    Bonjour,
    J'ai pas mal cherché aujourd'hui une solution à mon probléme et je demande à l'aide car je vais m'arracher les derniers cheveux si je continue ...

    Voici mon petit code :

    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
    Private Sub NOUVEL_ENTREE_Click()
    Dim MotCherche, plage As Range, Cell As Range
    MotCherche = Me.TextBox1.Text
    ColonneRecherche = 1 
    Set plage = fl1.Range(Cells(1, ColonneRecherche), _
    Cells(Range("A65536").End(xlUp).Row, ColonneRecherche))
    With plage
        Set c = .Find(MotCherche, LookIn:=xlValues, lookat:=xlWhole)
        If Not c Is Nothing Then 'donnée trouvée
                MsgBox "Le trigramme existe déjà !", _
         vbOKOnly + vbExclamation, "Manque trigramme"
     
     
    End If
    End With
    Set plage = Range("A65536").End(xlUp).Row + 1
    With plage
        fl1.Cells(c.Row, 1).Value = Me.TextBox1.Text
        fl1.Cells(c.Row, 2).Value = Me.TextBox2.Text
    End With
    End Sub
    Et en fait j'ai un probléme avec la fin, je voudrais faire apparaitre dans la premiére ligne vide d'une page excel la valeur des textbox 1 et 2 mais je n'y arrive pas, j'ai essayé tout ce que je connais et tout ce que j'ai cherché sur la toile, mais bon, je ne suis qu'un débutant, pourriez vous m'aider ??? Je sais qu'il manque des trucs et je n'arrive pas à déterminer ce que c'est ...

  2. #2
    Membre chevronné Avatar de wilfried_42
    Homme Profil pro
    Auto-entrepreneur
    Inscrit en
    Novembre 2006
    Messages
    1 427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Auto-entrepreneur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 427
    Points : 1 900
    Points
    1 900
    Par défaut
    Bonjour

    Je ne comprend pas tres bien ton code

    Private Sub NOUVEL_ENTREE_Click()
    Dim MotCherche, plage As Range, Cell As Range
    MotCherche = Me.TextBox1.Text
    ColonneRecherche = 1
    Set plage = fl1.Range(Cells(1, ColonneRecherche), _
    Cells(Range("A65536").End(xlUp).Row, ColonneRecherche))
    With plage
    Set c = .Find(MotCherche, LookIn:=xlValues, lookat:=xlWhole)
    If Not c Is Nothing Then 'donnée trouvée
    MsgBox "Le trigramme existe déjà !", _
    vbOKOnly + vbExclamation, "Manque trigramme"


    End If

    End With
    Set plage = Range("A65536").End(xlUp).Row + 1
    With plage

    fl1.Cells(c.Row, 1).Value = Me.TextBox1.Text
    fl1.Cells(c.Row, 2).Value = Me.TextBox2.Text
    End With
    End Sub
    If not is nothing --> tu testes l'existance d'un trigramme mais tu n'as aucun traitement specifique selon si trouvé ou pas

    fl1----> ca correspond à quoi ????

    set plage = range("A65535............... ?????
    With plage : non utilisé en dessous


    je ne sais pas si j'ai compris ton besoin mais je verrai bien comme ca :

    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
     
    Private Sub NOUVEL_ENTREE_Click()
    Dim MotCherche,plage as range, ligne as long, Cell As Range
    MotCherche = Me.TextBox1.Text
    ColonneRecherche = 1 
    Set plage = fl1.Range(Cells(1, ColonneRecherche), _
    Cells(Range("A65536").End(xlUp).Row, ColonneRecherche))
    With plage
        Set c = .Find(MotCherche, LookIn:=xlValues, lookat:=xlWhole)
        If Not c Is Nothing Then 'donnée trouvée
                MsgBox "Le trigramme existe déjà ----> Maj"
                c.offset(0,1) = me.textbox2
        else
                msgbox "Trigramme absent ---> ajout"
                ligne = range("A65536").end(xlup).row +1
                fl1.cells(ligne,1)=me.textbox1
                fl1.cells(ligne,2)=me.textbox2
        End If
    End With
     
    End Sub
    Bonne journée

  3. #3
    Membre expérimenté Avatar de rtg57
    Homme Profil pro
    Autodidacte
    Inscrit en
    Mars 2006
    Messages
    1 340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 340
    Points : 1 576
    Points
    1 576
    Par défaut
    Bonjour,

    pour le problème de recherche, pourquoi ne pas utiliser un langage basic simple du genre:
    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
     
    dim MotCherche As String
    dim ligne_recherche As Integer
    Dim colonne_recherche As Integer
    Dim drapeau_trouve As Boolean
     
    MotCherche = TextBox1.Text
    colonne_recherche = 1
    For ligne_recherche = 1 To 65535
      if ActiveSheet.Cells( ligne_recherche, colonne_recherche ).Text = MotCherche Then
        MsgBox "Le trigramme existe déjà ----> Maj"
        drapeau_trouve = True;
        Exit For  ' On arrête immédiatement la recherche
      End If
     
      if ActiveSheet.Cells( ligne_recherche, colonne_recherche ).value = ""
        Exit For  ' On arrête immédiatement la recherche car plus de ligne remplie
      End If
    Next ligne_recherche
     
    if drapeau_trouve = False then
      MsgBox "Trigramme absent ---> ajout"
    End if
    C'est du langage simple et beaucoup moins spécifique à l'environnement EXCEL. Donc plus facilement exportable dans une autre application.

  4. #4
    Membre à l'essai
    Inscrit en
    Septembre 2007
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 8
    Points : 10
    Points
    10
    Par défaut Boucle pour trouver la derniere ligne
    Bonjour

    se mettre dans la colonne qui sert de test.
    Tu peux enlever ce qu'il y apres le end si tu es sur qu'il n'y a pas de saut de ligne


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    range("a1").select 
     
    Do Until ActiveCell.Offset(1, 0).Value <> "" And ActiveCell.Offset(2, 0).Value <> ""
        ActiveCell.Offset(1, 0).Select
    Loop

  5. #5
    Membre du Club
    Inscrit en
    Septembre 2007
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 72
    Points : 43
    Points
    43
    Par défaut Probléme résolu
    Merci beaucoup pour toutes ces réponses, j'ai trouvé grace à vous et je pourrais maintenant avancé dans mon projet. Mais bientot j'en aurais un autre.

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

Discussions similaires

  1. [Toutes versions] Récupérer des valeurs dans une ligne dont une seule cellule est selectionnée
    Par Tommy57 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 07/02/2010, 20h37
  2. Retrouver une valeur dans une ligne
    Par patrick55 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 30/04/2008, 09h01
  3. Réponses: 10
    Dernier message: 07/12/2006, 20h52
  4. Imposer une valeur dans une ligne "identity" d'une
    Par mibo94 dans le forum Access
    Réponses: 1
    Dernier message: 26/11/2005, 16h59
  5. [vb excel]Tester une valeur dans une ligne
    Par Mugette dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 28/09/2005, 13h58

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