Indiquer dans une textbox le numero de ligne de la macro
emwaj
-
ThauTheme Messages postés 1564 Statut Membre -
ThauTheme Messages postés 1564 Statut Membre -
Bonjour,
J'ai un tableau avec plein de lignes.
J'ai créé un formulaire dans lequel on indique le numéro de ligne pour laquelle on veut copier les données vers une autre feuille.
Je suis vraiment débutant (et nul..) en programation VBA :(
J'ai écrit ce code qui, bien sûr, n'est pas bon... je reçois une erreur: "object required"...
voici l'ébauche de code:
Sub copy_lines()
If TextBox1.Value = " " Then Worksheets(3).Cells(4, 2).Value = Worksheets(2).Cells(0, 1).Value 'copy data from line x column A in worksheets(2) to cell B4 in worksheets(3)
If TextBox1.Value = " " Then Worksheets(3).Cells(1, 7).Value = Worksheets(2).Cells(0, 10).Value 'copy data from line x column J in worksheets(2) to cell G1 in worksheets(3)
If TextBox1.Value = " " Then Worksheets(3).Cells(10, 3).Value = Worksheets(2).Cells(0, 6).Value
If TextBox1.Value = " " Then Worksheets(3).Cells(10, 5).Value = Worksheets(2).Cells(0, 3).Value
If TextBox1.Value = " " Then Worksheets(3).Cells(10, 7).Value = Worksheets(2).Cells(0, 4).Value
If TextBox1.Value = " " Then Worksheets(3).Cells(12, 3).Value = Worksheets(2).Cells(0, 6).Value
If TextBox1.Value = " " Then Worksheets(3).Cells(14, 4).Value = Worksheets(2).Cells(0, 8).Value
If TextBox1.Value = " " Then Worksheets(3).Cells(12, 7).Value = Worksheets(2).Cells(0, 9).Value
End sub
Qu'est ce que j'ai oublié? :(
merci pour votre aide!
Eric
J'ai un tableau avec plein de lignes.
J'ai créé un formulaire dans lequel on indique le numéro de ligne pour laquelle on veut copier les données vers une autre feuille.
Je suis vraiment débutant (et nul..) en programation VBA :(
J'ai écrit ce code qui, bien sûr, n'est pas bon... je reçois une erreur: "object required"...
voici l'ébauche de code:
Sub copy_lines()
If TextBox1.Value = " " Then Worksheets(3).Cells(4, 2).Value = Worksheets(2).Cells(0, 1).Value 'copy data from line x column A in worksheets(2) to cell B4 in worksheets(3)
If TextBox1.Value = " " Then Worksheets(3).Cells(1, 7).Value = Worksheets(2).Cells(0, 10).Value 'copy data from line x column J in worksheets(2) to cell G1 in worksheets(3)
If TextBox1.Value = " " Then Worksheets(3).Cells(10, 3).Value = Worksheets(2).Cells(0, 6).Value
If TextBox1.Value = " " Then Worksheets(3).Cells(10, 5).Value = Worksheets(2).Cells(0, 3).Value
If TextBox1.Value = " " Then Worksheets(3).Cells(10, 7).Value = Worksheets(2).Cells(0, 4).Value
If TextBox1.Value = " " Then Worksheets(3).Cells(12, 3).Value = Worksheets(2).Cells(0, 6).Value
If TextBox1.Value = " " Then Worksheets(3).Cells(14, 4).Value = Worksheets(2).Cells(0, 8).Value
If TextBox1.Value = " " Then Worksheets(3).Cells(12, 7).Value = Worksheets(2).Cells(0, 9).Value
End sub
Qu'est ce que j'ai oublié? :(
merci pour votre aide!
Eric
A voir également:
- Indiquer dans une textbox le numero de ligne de la macro
- Partage de photos en ligne - Guide
- Numéro père noël whatsapp - Accueil - Messagerie instantanée
- Numero prive - Guide
- Formulaire en ligne de meta - Guide
- Aller à la ligne dans une cellule excel - Guide
5 réponses
Bonjour,
Qu'est ce que j'ai oublié?
si vous voulez copiez une cellule dont la ligne provient d'une TextBox, il faut tester que le contenu de la textbox soit un numerique et mettre le contenu de cette textbox en ligne de la cellule a copier. La ligne doit etre au minimum egale a 1 pas 0
'copy data from line x column A in worksheets(2) to cell B4 in worksheets(3)
If TextBox1.Value = " " Then Worksheets(3).Cells(4, 2).Value = Worksheets(2).Cells(0, 1).Value
Qu'est ce que j'ai oublié?
si vous voulez copiez une cellule dont la ligne provient d'une TextBox, il faut tester que le contenu de la textbox soit un numerique et mettre le contenu de cette textbox en ligne de la cellule a copier. La ligne doit etre au minimum egale a 1 pas 0
'copy data from line x column A in worksheets(2) to cell B4 in worksheets(3)
If TextBox1.Value = " " Then Worksheets(3).Cells(4, 2).Value = Worksheets(2).Cells(0, 1).Value
Bonjour Éric, bonjour le forum,
Cells(0,...) va automatiquement provoquer une erreur puisque la ligne 0 n'existe pas !...
Ensuite inutile de répéter la condition à chaque ligne tu peux faire :
Ton code actuellement récupère dans une cellule d'un onglet la valeur d'une cellule d'un autre onglet et cela sous la condition que la TexBox1 contienne un espace...?! À aucun moment tu n'indiques un numéro de ligne !...
Difficile de t'aider vu que le bout de code fourni ne correspond pas à la description du problème. Essai d'être plus clair dans tes explications
Cells(0,...) va automatiquement provoquer une erreur puisque la ligne 0 n'existe pas !...
Ensuite inutile de répéter la condition à chaque ligne tu peux faire :
IF TextBox1.Value = " " Then
- action 1
- action 2
- action 3
- etc.
End If
Ton code actuellement récupère dans une cellule d'un onglet la valeur d'une cellule d'un autre onglet et cela sous la condition que la TexBox1 contienne un espace...?! À aucun moment tu n'indiques un numéro de ligne !...
Difficile de t'aider vu que le bout de code fourni ne correspond pas à la description du problème. Essai d'être plus clair dans tes explications
merci pour les commentaires.
En fait ce que je veux c'est que la ligne x du code ci dessus soit mise à jour en fonction de la valeur qu'on onscrit dans la TextBox1.
exemple: si j'y écrit '7', alors à la place de x ce sera la ligne numéro 7 du tableau excel
le problème c'est que je ne sais pas comment faire cela...
Sub copy_lines()
'copy lines from mehushpazim to format tizkoret mehushpazim
If TextBox1 = "" Then
Worksheets(3).Cells(4, 2).Value = Worksheets(2).Cells(x, 1).Value
Worksheets(3).Cells(1, 7).Value = Worksheets(2).Cells(x, 10).Value
Worksheets(3).Cells(10, 3).Value = Worksheets(2).Cells(x, 6).Value
Worksheets(3).Cells(10, 5).Value = Worksheets(2).Cells(x, 3).Value
Worksheets(3).Cells(10, 7).Value = Worksheets(2).Cells(x, 4).Value
Worksheets(3).Cells(12, 3).Value = Worksheets(2).Cells(x, 6).Value
Worksheets(3).Cells(14, 4).Value = Worksheets(2).Cells(x, 8).Value
Worksheets(3).Cells(12, 7).Value = Worksheets(2).Cells(x, 9).Value
End If
End Sub
En fait ce que je veux c'est que la ligne x du code ci dessus soit mise à jour en fonction de la valeur qu'on onscrit dans la TextBox1.
exemple: si j'y écrit '7', alors à la place de x ce sera la ligne numéro 7 du tableau excel
le problème c'est que je ne sais pas comment faire cela...
Sub copy_lines()
'copy lines from mehushpazim to format tizkoret mehushpazim
If TextBox1 = "" Then
Worksheets(3).Cells(4, 2).Value = Worksheets(2).Cells(x, 1).Value
Worksheets(3).Cells(1, 7).Value = Worksheets(2).Cells(x, 10).Value
Worksheets(3).Cells(10, 3).Value = Worksheets(2).Cells(x, 6).Value
Worksheets(3).Cells(10, 5).Value = Worksheets(2).Cells(x, 3).Value
Worksheets(3).Cells(10, 7).Value = Worksheets(2).Cells(x, 4).Value
Worksheets(3).Cells(12, 3).Value = Worksheets(2).Cells(x, 6).Value
Worksheets(3).Cells(14, 4).Value = Worksheets(2).Cells(x, 8).Value
Worksheets(3).Cells(12, 7).Value = Worksheets(2).Cells(x, 9).Value
End If
End Sub
Re,
Dans ce cas je verrais les chose comme ça :
Dans ce cas je verrais les chose comme ça :
Sub copy_lines()
Dim X As Integer
X=Cint(TextBox1.Value)
'copy lines from mehushpazim to format tizkoret mehushpazim
If TextBox1 <> "" Then
Worksheets(3).Cells(4, 2).Value = Worksheets(2).Cells(X, 1).Value
Worksheets(3).Cells(1, 7).Value = Worksheets(2).Cells(X, 10).Value
Worksheets(3).Cells(10, 3).Value = Worksheets(2).Cells(X, 6).Value
Worksheets(3).Cells(10, 5).Value = Worksheets(2).Cells(X, 3).Value
Worksheets(3).Cells(10, 7).Value = Worksheets(2).Cells(X, 4).Value
Worksheets(3).Cells(12, 3).Value = Worksheets(2).Cells(X, 6).Value
Worksheets(3).Cells(14, 4).Value = Worksheets(2).Cells(X, 8).Value
Worksheets(3).Cells(12, 7).Value = Worksheets(2).Cells(X, 9).Value
End If
End Sub
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question