J'aimerais copiez les valeur de ma textbox sur a partir de la cellule A8 et que les valeurs suivantes se copie de ligne en ligne.
Je suis arrivé a faire que mes valeurs se copie de ligne en ligne mais je n'arrive pas a définir le point de départ qui est la cellule A8.
Voici mon code:
Donc toujours à l'aveugle
mais testé avec succès sur une feuille nommée Feuil1
(appartenant à un classeur avec un Userform contenant un TextBox nommé tbot et un CommandButton)
En A8, j'ai le mot suivant: ENTETE
Et quand je clique sur le bouton de l'userform x fois, la valeur de tbot se retrouve en A9, puis en A10, puis en Ax
VB:
Private Sub CommandButton1_Click()
Dim ZXZ
ZXZ = Chr(Int((90 - 65 + 1) * Rnd + 65))
Sheets("Feuil1").Activate
If Len(tbot) Then
Cells(Rows.Count, 1).End(xlUp)(2).Value = tbot
tbot = Application.Rept(ZXZ, 3)
Else
Exit Sub
End If
End Sub
Private Sub UserForm_Initialize()
Randomize
tbot = Application.Rept(Chr(Int((90 - 65 + 1) * Rnd + 65)), 3)
End Sub
D'abord merci la réactivité mais non car "tbot" dépend d'un autre onglet et n'a rien avoir avec la cellule A8 justement ce que je cherche a faire c'est que "tbot" se copie en A8,...
Alors essaie le second code (message#3)
Et le plus simple eut été de joindre un fichier exemple dès le départ
(car sans fichier de ta part, je fais mes tests à l'aveugle...)
Donc toujours à l'aveugle
mais testé avec succès sur une feuille nommée Feuil1
(appartenant à un classeur avec un Userform contenant un TextBox nommé tbot et un CommandButton)
En A8, j'ai le mot suivant: ENTETE
Et quand je clique sur le bouton de l'userform x fois, la valeur de tbot se retrouve en A9, puis en A10, puis en Ax
VB:
Private Sub CommandButton1_Click()
Dim ZXZ
ZXZ = Chr(Int((90 - 65 + 1) * Rnd + 65))
Sheets("Feuil1").Activate
If Len(tbot) Then
Cells(Rows.Count, 1).End(xlUp)(2).Value = tbot
tbot = Application.Rept(ZXZ, 3)
Else
Exit Sub
End If
End Sub
Private Sub UserForm_Initialize()
Randomize
tbot = Application.Rept(Chr(Int((90 - 65 + 1) * Rnd + 65)), 3)
End Sub
Donc toujours à l'aveugle
mais testé avec succès sur une feuille nommée Feuil1
(appartenant à un classeur avec un Userform contenant un TextBox nommé tbot et un CommandButton)
En A8, j'ai le mot suivant: ENTETE
Et quand je clique sur le bouton de l'userform x fois, la valeur de tbot se retrouve en A9, puis en A10, puis en Ax
VB:
Private Sub CommandButton1_Click()
Dim ZXZ
ZXZ = Chr(Int((90 - 65 + 1) * Rnd + 65))
Sheets("Feuil1").Activate
If Len(tbot) Then
Cells(Rows.Count, 1).End(xlUp)(2).Value = tbot
tbot = Application.Rept(ZXZ, 3)
Else
Exit Sub
End If
End Sub
Private Sub UserForm_Initialize()
Randomize
tbot = Application.Rept(Chr(Int((90 - 65 + 1) * Rnd + 65)), 3)
End Sub
Voilà voila apres avoir fait des tests j'ai utiliser le code suivant pour me positionner au bon endroit dans ma feuille et pour ensuite copiez les valeurs a la ligne:
VB:
If Range("A8") = "" Then
Range("A8").Activate
Else
Range("A" & Range("A7").End(xlDown).Row + 1).Activate
End If
vinzzz1
Tu n'as donc pas testé le code que je te proposais (et surtout fais le ménage dans ta colonne A)
Dans ta PJ, il y avait des données en colonne A en dehors de ton tableau
(De mémoire vers A50) mais apparemment tu as retiré ta PJ du fil, non?
Staple1600 si j'ai essayé le code que tu ma proposé mais le soucis est effectivement la présence d'autre valeurs dans ma colonne A qui malheureusement ne peuvent être enlevé c'est pour cela que j'ai utilisé le code suivant :
VB:
Private Sub btvalidate_Click()
With Sheets("Feuil1")
ligne = .Range("A32").End(xlUp).Row + 1 'Mes valeurs viennent se copier a la 1ère ligne vide au dessus de la 32ème
.Range("A" & ligne).Value = OTreseaux
.Range("C" & ligne).Value = taf
End With
End Sub
Sauf qu'au départ, ta discussion parlait d'insérer la valeur du TextBox en A8
(Il n'était pas question d'insérer les valeurs d'autres contrôles du Userform)
Et au départ, on parlait de du TextBox tbot que je ne vois pas dans ton dernier code.
PS: Tu aurais du laissé ta PJ, si d'autres membres du forum veulent traiter ta question.