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 :

destination textbox et +


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de grisan29
    Homme Profil pro
    ouvrier poseur
    Inscrit en
    Octobre 2006
    Messages
    866
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ouvrier poseur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2006
    Messages : 866
    Par défaut
    bonjour a vous tous
    je voudrais que le code suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    With Sheets("facturation")
    NewLig = .Cells(Rows.Count, 2).End(xlUp).Row + 1
    .Range("C" & NewLig).Value = TextBox1.Value ' designation 
    .Range("I" & NewLig).Value = TextBox2.Value ' prix 
    .Range("J" & NewLig).Value = TextBox3.Value ' unite 
    .Range("K" & NewLig).Value = TextBox4.Value ' qte 
    .Range("M" & NewLig).Value = .Range("K" & NewLig).Value * .Range("I" & NewLig).Value 
    .Range("G" & NewLig).Value = IIf(Me.OptionButton5, 1, 2) 
    .Range("H" & NewLig).Value = IIf(Me.OptionButton5, 0.055 * .Range("F" & NewLig).Value, "")
    .Range("I" & NewLig).Value = IIf(Me.OptionButton6, 0.196 * .Range("F" & NewLig).Value, "") 
    '.....
    End With
    puisse etre modifié afin que les textbox et option button inscrive leur donnée a partir de la ligne 19 soit
    et cela toujours dans les mêmes colonnes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    txtbox1 a b19. End(xlDown)
    txtbox2 à i19. End(xlDown)
    txtbox3 à j 19. End(xlDown)
    txtbox 4 à k19. End(xlDown)
    le choix des optionbutton en M19. End(xlDown)
    option button5 tva 5.5 en O19. End(xlDown)
    OptionButton6 tva 19.6 en P19. End(xlDown)

    et ce jusque la ligne 30 environ et en ajoutant une lignes a chaque fois
    voici un code qui le fait mais en appuyant sur un bouton
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Dim a As Integer, lig As Integer
    a = MsgBox("Voulez-vous ajouter un enregistrement ?", vbYesNo + vbQuestion, "Ajouter")
    If a = vbYes Then
    lig = Range("B19").End(xlDown)(1).Row
    Range("B19").End(xlDown)(1).EntireRow.Insert
    Range("C" & lig + 1).Copy Range("C" & lig)
    Range("K" & lig + 1 & ":L" & lig + 1).Copy Range("K" & lig)
    Range("O" & lig + 1 & ":P" & lig + 1).Copy Range("O" & lig)
    Range("B19:M" & lig + 1).Sort Key1:=Range("B19"), Order1:=xlAscending, Header:=xlGuess, _
            OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
    End If
    puis faire un saut par dessus le pied de page pour recommencer en ligne 19 sur une autre feuille et repartir a la ligne 19 feuille suivante

    merci par avance
    bonne journée
    Pascal

    bonjour a vous tous

    pour faire plus simple et par étape ,comment peut on faire commencer ce code pour écrire ses données sur la ligne 19 et ses suivantes
    c'est un code fourni gracieusement par Mercatog

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim NewLig As Long
     
    With Sheets("facturation")
       NewLig = .Cells(Rows.Count, 2).End(xlUp).Row + 1
    merci a vous tous

    Pascal

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    226
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2008
    Messages : 226
    Par défaut
    Hello,

    Peut-être comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim NewLig As Long
     
    With Sheets("facturation")
       NewLig = .Cells(19, 2).End(xlUp).Row + 1
    Bonne journée, Antoniom.

  3. #3
    Membre éclairé Avatar de grisan29
    Homme Profil pro
    ouvrier poseur
    Inscrit en
    Octobre 2006
    Messages
    866
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ouvrier poseur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2006
    Messages : 866
    Par défaut
    bonjour a vous et a antonium
    ta solution est parfaite en modifiant .cells(19, 2) par .cells(19, 3) ????
    je te joint le code complet pour t'en rendre compte,le code ne progresse pas d'une ligne a chaque choix de textbox mais remplace le contenu de la première selection


    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 CommandButton2_Click()
    Dim NewLig As Long
    With Sheets("facturation")
    NewLig = .Cells(19, 2).End(xlUp).Row + 1
    .Range("C" & NewLig).Value = TextBox1.Value ' designation
    .Range("I" & NewLig).Value = TextBox2.Value ' prix
    .Range("J" & NewLig).Value = TextBox3.Value ' unite
    .Range("K" & NewLig).Value = TextBox4.Value ' qte
    .Range("L" & NewLig).Value = .Range("K" & NewLig).Value * .Range("I" & NewLig).Value
    .Range("M" & NewLig).Value = IIf(Me.OptionButton5, 1, 2)
    .Range("O" & NewLig).Value = IIf(Me.OptionButton5, 0.055 * .Range("L" & NewLig).Value, "")
    .Range("P" & NewLig).Value = IIf(Me.OptionButton6, 0.196 * .Range("L" & NewLig).Value, "")
    '.....
     
    End With
     
    TextBox1.Value = ""
    TextBox2.Value = ""
    TextBox3.Value = ""
    TextBox4.Value = ""
    End Sub
    merci pour tout et bon week end

    Pascal

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    633
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 633
    Par défaut
    Bonjour grisan29

    le code de mercatog adapté pour n'écrire qu'a partir de la ligne 19

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    With Sheets("facturation")
    'Chercher la premiere ligne vide
    newlig = .Cells(Rows.Count, 3).End(xlUp).Row + 1
    'si cette ligne est inférieure à 19 alors Newlig = 19
    If newlig < 19 Then newlig = 19

  5. #5
    Membre éclairé Avatar de grisan29
    Homme Profil pro
    ouvrier poseur
    Inscrit en
    Octobre 2006
    Messages
    866
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ouvrier poseur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2006
    Messages : 866
    Par défaut
    bonjour zyhack et merci

    le code que tu m'as donné fonctionne mais pas a partir de la ligne 19 mais apres le bas de page car je pense que le code cherche la dernière ligne vide
    je le reconnais je n'en avait rien dit
    mais je peux joindre un exemple s'il le faut

    bonn week end
    Pascal

  6. #6
    Membre émérite
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    633
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 633
    Par défaut
    Bonjour

    Recherche de la première ligne vide avant le premier saut de page

    variable à ajouter en début de code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Dim Address1erHPB As String
    code modifié
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    With Sheets("facturation")
      'cherche la dernière ligne avant le premier saut de page
      If .HPageBreaks.Count > 0 Then Address1erHPB = .HPageBreaks(1).Location.Offset(-1, 0).Address
     
      'Chercher la premiere ligne vide
      newlig = .Cells(Range(Address1erHPB).Row, 3).End(xlUp).Row + 1
      'si cette ligne est inférieure à 19 alors Newlig = 19
      If newlig < 19 Then newlig = 19
      Debug.Print newlig
    End With

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

Discussions similaires

  1. [WD-2010] Textbox source et destination
    Par GADENSEB dans le forum VBA Word
    Réponses: 7
    Dernier message: 01/12/2014, 10h56
  2. [VB.NET] Sauvegarde dans TextBox des logons utilisés
    Par stephane93fr dans le forum ASP.NET
    Réponses: 3
    Dernier message: 27/10/2005, 11h00
  3. Réponses: 2
    Dernier message: 08/04/2004, 11h11
  4. Réponses: 3
    Dernier message: 25/03/2004, 11h35
  5. [VB6] [Interface] ScrolBar & TextBox
    Par DarkVader dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 25/10/2002, 18h40

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