Envoi d'une feuille à une autre!

adn28 Messages postés 91 Date d'inscription mercredi 9 février 2005 Statut Membre Dernière intervention 16 mars 2005 - 1 mars 2005 à 14:37
adn28 Messages postés 91 Date d'inscription mercredi 9 février 2005 Statut Membre Dernière intervention 16 mars 2005 - 1 mars 2005 à 16:36
Bonjour,

Je voudrais envoyer des données qui sont dans un tableau, dans un autre tableau

qui est dans une autre feuille, en la feuil2 à la feuil1, sur Excel bien sur,

j'ai utilisé cette méthode mais ça marche pas, est ce que quelqu'un voit une erreur :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)


For i = 23 To 47
'Si la cellule lue est vide alors
If Feuil4.Cells(i, 2) = "" Then
'Je recopie les infos choisis
Feuil4.Cells(i, 2) = Feuil2.Cells(i, 2)
Feuil4.Cells(i, 3) = Feuil2.Cells(i, 3)
Feuil4.Cells(i, 4) = Feuil2.Cells(i, 4)
'sort de la boucle pour éviter de les recopier plein de fois
Exit For
End If
Next


End Sub

merci d'avance

10 réponses

cs_trabice Messages postés 328 Date d'inscription mercredi 26 novembre 2003 Statut Membre Dernière intervention 24 novembre 2005 1
1 mars 2005 à 14:52
lu
je ne sé pa ou est ton pb mé pkoi faire un exit for dans un for 23 to 47 ?
ca ne marchera k'une fois tu en es conscient?
For i = 23 To 47
'Si la cellule lue est vide alors
If Feuil4.Cells(i, 2) = "" Then
'Je recopie les infos choisis
Feuil4.Cells(i, 2) = Feuil2.Cells(i, 2)
Feuil4.Cells(i, 3) = Feuil2.Cells(i, 3)
Feuil4.Cells(i, 4) = Feuil2.Cells(i, 4)
'sort de la boucle pour éviter de les recopier plein de fois
Exit For
End If
Next

Bon courage
Fabrice
0
adn28 Messages postés 91 Date d'inscription mercredi 9 février 2005 Statut Membre Dernière intervention 16 mars 2005
1 mars 2005 à 15:10
j'ai pas compris ce que tu voulais dire, mais en j'ai changé la donne,

je les ai mis dans un bouton mais quand je clique, ça envoi que la 1ere ligne?

Alors que je veux tout envoyer en un seul click?

Private Sub cmdFin_Click()


For i = 23 To 47
'Si la cellule lue est vide alors
If Feuil4.Cells(i, 2) = "" Then
'Je recopie les infos choisis
Feuil4.Cells(i, 2) = Feuil2.Cells(i, 2)
Feuil4.Cells(i, 3) = Feuil2.Cells(i, 3)
Feuil4.Cells(i, 4) = Feuil2.Cells(i, 4)
'sort de la boucle pour éviter de les recopier plein de fois
Exit For
End If
Next


End Sub

Ext ce que t'as une solution?

Merci
0
cs_trabice Messages postés 328 Date d'inscription mercredi 26 novembre 2003 Statut Membre Dernière intervention 24 novembre 2005 1
1 mars 2005 à 15:24
re
demande pkoi tu as mis un exit for..
enleve le et ca devrait marcher

fabrice
0
adn28 Messages postés 91 Date d'inscription mercredi 9 février 2005 Statut Membre Dernière intervention 16 mars 2005
1 mars 2005 à 15:36
ok merdi beaucoup c'était tro con, tu vas rigoler mais jen pleins comme ça

encore merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mrdep1978 Messages postés 402 Date d'inscription jeudi 25 novembre 2004 Statut Membre Dernière intervention 7 juin 2009 7
1 mars 2005 à 15:36
Tu testes sur la mauvaise feuille + Tu essaies de copier les colonnes 2 à 4 des lignes poure lesquelles la colonne 2 est vide.

Private Sub cmdFin_Click()


For i = 23 To 47
'Si la cellule lue n'est pas vide alors
<STRIKE>If Feuil4.Cells(i, 2) = "" Then
</STRIKE> If Feuil2.Cells(i, 2) <> "" Then
'Je recopie les infos choisies
Feuil4.Cells(i, 2) = Feuil2.Cells(i, 2)
Feuil4.Cells(i, 3) = Feuil2.Cells(i, 3)
Feuil4.Cells(i, 4) = Feuil2.Cells(i, 4)
Else
'sort de la boucle pour éviter de les recopier plein de fois
Exit For
End If
Next


End Sub
0
cs_trabice Messages postés 328 Date d'inscription mercredi 26 novembre 2003 Statut Membre Dernière intervention 24 novembre 2005 1
1 mars 2005 à 15:40
jolie remarque pr le feuil4 a la place de feuil2 mé je ne suis pas daccord pour le else exit for...

For i = 23 To 47
'Si la cellule lue n'est pas vide alors
<STRIKE>If Feuil4.Cells(i, 2) = "" Then
</STRIKE> If Feuil2.Cells(i, 2) <> "" Then
'Je recopie les infos choisies
Feuil4.Cells(i, 2) = Feuil2.Cells(i, 2)
Feuil4.Cells(i, 3) = Feuil2.Cells(i, 3)
Feuil4.Cells(i, 4) = Feuil2.Cells(i, 4)
Else
'sort de la boucle pour éviter de les recopier plein de fois
Exit For
End If
Next

fabrice
0
cs_trabice Messages postés 328 Date d'inscription mercredi 26 novembre 2003 Statut Membre Dernière intervention 24 novembre 2005 1
1 mars 2005 à 15:42
euh...
la feuille de destination c Feuil4?
dc il peut bien tester If Feuil4.Cells(i, 2) = "" Then
mé il pourrait aussi test feuill2.cells(i,2)<> ""
donc :
If Feuil4.Cells(i, 2) = "" and feuill2.cells(i,2)<> "" then
0
mrdep1978 Messages postés 402 Date d'inscription jeudi 25 novembre 2004 Statut Membre Dernière intervention 7 juin 2009 7
1 mars 2005 à 15:47
Ben moi, je suis d'accord avec mon Else.

Si pour une raison qc, il considère qu'après la première ligne vide, il n'a plus d'autres lignes de données, il peut s'arrêter de parcourir le reste des lignes.

Tout dépend de ce qu'il veut copier et des trous qu'il peut avoir dans la zone à copier.
0
cs_trabice Messages postés 328 Date d'inscription mercredi 26 novembre 2003 Statut Membre Dernière intervention 24 novembre 2005 1
1 mars 2005 à 16:05
Si pour une raison qc, il considère qu'après la première ligne vide, il n'a plus d'autres lignes de données, il peut s'arrêter de parcourir le reste des lignes.

oui en effet
pa bete du tout.
autant pour moi
fabrice
0
adn28 Messages postés 91 Date d'inscription mercredi 9 février 2005 Statut Membre Dernière intervention 16 mars 2005
1 mars 2005 à 16:36
Il faut juste enlever le "exit for" c'est tout et ça marche

Merci comme même les mecs
0
Rejoignez-nous