Copie d'une valeur issus d'un combobox en fonction d'une variable issue d'un textbox

GCogaulois

XLDnaute Nouveau
Encore merci au forum.

Bonjour à tous et merci de m'accueillir au sein de votre communauté,

Premier forum, premier post, je demande pardon si je fais une infraction au règles du forum.

J'ai besoin de copier un grand nombre de valeur d'une feuille vers une autre. Cela ma conduit à regarder vers le VBA. Après mettre inscrit sur ce forum et pris connaissance de nombreuses discutions, j'ai réalisé ce petit outil.
Au passage je remercie J. Boisgontier, et les autres, pour ces nombreux exemples qui m'ont permis d'arriver jusque là, mais je n'ai trouver la solution pour la suite.

Mon programme fonctionne sans erreurs pour l'instant mais je n'obtiens pas le résultat attendu. Je voudrais copier vers le bas la valeur choisie dans le combobox (nommé: choixrep4) par la valeur que j'indique manuellement au textbox1 de droite (voir le fichier joint). Cette copie devrait se faire au click sur le button1 de l'USF. Le textbox au milieu (nommé : Valeur_nombre) m'indique simplement le nombre de valeur de départ, il est là pour le fun ! en fait il s'agit d'un essai d'apprentissage.

J'espère être resté relativement clair pour ma première demande d'aide, et reste à disposition pour d'autre explication si nécessaire.

Merci à tous.
 

Pièces jointes

  • Essai5 copie VBA.xls
    85.5 KB · Affichages: 90
Dernière édition:
C

Compte Supprimé 979

Guest
Re : Copie d'une valeur issus d'un combobox en fonction d'une variable issue d'un tex

Bonjour GCogaulois et bienvenue sur ce forum

Je n'ai pas tout bien compris :confused:

Mais voici un premier code qui ajoute la valeur choisie et la recopie vers le bas x fois
Code:
Private Sub CommandButton1_Click()  Dim NLig As Long, NbLig As Long
  If Not IsNumeric(Me.TextBox1) Then
    MsgBox "Merci de saisir un nombre"
    Me.TextBox1.SetFocus
    Exit Sub
  End If
  ' Récupérer le nombre de ligne que l'on souhaite avoir
  NbLig = Me.TextBox1.Value
  ' Avec la feuille
  With Sheets("Feuil1")
    ' Trouver la prochaine ligne vide
    NLig = .Range("J" & Rows.Count).End(xlUp).Offset(1, 0).Row
    ' Inscrire la valeur
    .Range("J" & NLig).Select
    .Range("J" & NLig).Value = Me.Choixrep4
    ' Recopier vers le bas d'autant de ligne saisie
    .Range("J" & NLig & ":J" & NLig + NbLig - 1).FillDown
  End With
    'ActiveCell.Value = Application.Proper(Me!Choixrep4)
    'ligne = Sheets("feuil2").[D:D].Find(Choixrep4, LookIn:=xlValues).Row
    'Me.copier
End Sub

A+
 

GCogaulois

XLDnaute Nouveau
Re : Copie d'une valeur issus d'un combobox en fonction d'une variable issue d'un tex

BrunoM45 bonjour,

Je pense que tu auras bien noté mon coté "amateur". Je regarde ces lignes pour lesquelles je te remercie grandement. Peut-tu me dire ce que tu n'as pas bien compris ?, je peux essayer de développer si tu le souhaite.

Encore Merci, je reviens vers toi au plutôt pour te tenir au courant de la suite.
GCogaulois.
 

GCogaulois

XLDnaute Nouveau
Re : Copie d'une valeur issus d'un combobox en fonction d'une variable issue d'un tex

BrunoM45 bonjours,

J'ai regardé ta proposition, franchement c'est plus que j'espérais. Le Mgs "merci de saisir un nombre" est une excellente idée. Le fait que je ne sois pas obligé de clicker dans la cellule (Feuille 1 colonne "F") du départ de recopie autorise un maniement plus facile. J'ai simplement repositionné la colonne ou je souhaite que la recopie s'exécute. J'ai également modifié ma liste de valeur à recopier. Il s'agit là de lignes de code glanées, "nom 1" est devenu "nom 01", car même avec un click sur "nom 1" il refusait de m'afficher cette valeur dans le combobox au profit de "nom 12".

Je joins la dernière version, problème résolu.

Sincèrement un très grand merci plus particulièrement à toi, mais aussi à tout le forum. Je vais gagner un temps fou pour faire ma recopie.

GCogaulois.
 

Pièces jointes

  • Essai6 copie VBA.xls
    74.5 KB · Affichages: 86
C

Compte Supprimé 979

Guest
Re : Copie d'une valeur issus d'un combobox en fonction d'une variable issue d'un tex

Re,

Pour corriger le bug en cas de copie d'un seul nom, voici le code ;)
VB:
Private Sub CommandButton1_Click()
  ' Réaliser grâce à BrunoM45, Excel Download, Créer le 8 juin 2013
  Dim NLig As Long, NbLig As Long
  ' Vérifier si la valeur est numérique
  If Not IsNumeric(Me.TextBox1) Then
    MsgBox "Merci de saisir un nombre"
    Me.TextBox1.SetFocus
    Exit Sub
  End If
  ' Récupérer le nombre de ligne que l'on souhaite avoir
  NbLig = Me.TextBox1.Value
  ' Avec la feuille
  With Sheets("Feuil1")
    ' Trouver la prochaine ligne vide
    NLig = .Range("F" & Rows.Count).End(xlUp).Offset(1, 0).Row
    ' Inscrire la valeur
    .Range("F" & NLig).Select
    .Range("F" & NLig).Value = Me.Choixrep4
    ' Si le nombre de ligne à copier est supérieur à 1
    If NbLig > 1 Then
      ' Recopier vers le bas d'autant de ligne saisie
      .Range("F" & NLig & ":F" & NLig + NbLig - 1).FillDown
    End If
  End With
End Sub

A+
 

Discussions similaires

Statistiques des forums

Discussions
312 294
Messages
2 086 895
Membres
103 404
dernier inscrit
sultan87