Excel Downloads
Forum

Précédent   Excel Downloads Forums > Excel > Forum Excel


Réponse
 
LinkBack Outils de la discussion
Vieux 24/07/2006, 16h21   #1 (permalink)
XLDnaute Occasionel
 
Date d'inscription: juin 2006
Messages: 201
Par défaut Copie multiple au sein d'une boucle

Bonjour a tous

Voila j'ai un petit problème lors de la réalisation de ma boucle de copie.
Code:
Dim s As Worksheet

For p = 1 To NbTr
 Set s = Sheets.Add(After:=Sheets(Sheets.Count))
 s.Name = "Feuil" & 3 + p
Next p

'Copie des données de la tranche x à la feuille x+3
 Dim wS As Worksheet 'Feuille source
 Dim wD As Worksheet 'Feuille destination
 'Dim Derlig As Integer 'Derniere ligne fichier source
 'Affecte les feuilles sources/destination (de la copie)
 Set wS = Sheets("Feuil3")
 Set wD = Sheets("Feuil" & 3 + NbTr)

For t = 1 To NbTr
 J = 1
 'Determine derniere ligne fichier source
 Derlig = wS.Cells(65535, 5).End(xlUp).Row 'Derniére ligne rempli colonne 5 fichier source
 If Derlig < 2 Then
   MsgBox "Aucune données ", vbCritical
   Exit Sub
 End If
 ' Boucle sur lignes fichier source
 For I = 2 To Derlig
   If wS.Cells(I, 2) = Secteur And wS.Cells(I, 5) = NbTr Then
     'Copie ...
     wD.Rows(J).Value = wS.Rows(I).Value
     J = J + 1
   End If
 Next I
Next t
Problème, j'ai une grosse erreur dans mon système.
Il devrait, copier les données ou NbTr=1 sur la feuille 4
NbTr=2 sur la feuille 5
...
NbTr=Xsur la feuille 3+NbTr

Voila en gros le principe

Mais ma macro me copie uniquement sur la dernière page
donc si NbTr=5, il me copie les élément de la tranche5, sur la feuille 8

alors que je voudaris avoir la copie de toutes les autres tranches précédentes sur les feuilles amont.

Si quelqu'un a une solution pour moi.

Merci
baptbapt est déconnecté   Réponse avec citation
ANNONCES
Vieux 24/07/2006, 16h32   #2 (permalink)
XLDnaute Accro
 
Date d'inscription: février 2005
Localisation: Arras
Version Excel : Excel 2003 (PC)
Messages: 1 422
Envoyer un message via MSN à dg62
Par défaut Re : Copie multiple au sein d'une boucle

Bonjour Baptbapt


dans cette ligne que vaut NbTr

Set wD = Sheets("Feuil" & 3 + NbTr)

je pense que ton problème vient de là.
__________________
@+

dg62 est déconnecté   Réponse avec citation
Vieux 24/07/2006, 16h34   #3 (permalink)
XLDnaute Barbatruc
 
Avatar de porcinet82
 
Date d'inscription: mars 2005
Localisation: Issy les Moulineaux
Version Excel : Excel 2003 (PC)
Messages: 3 254
Envoyer un message via MSN à porcinet82
Par défaut Re : Copie multiple au sein d'une boucle

Salut baptbapt,

Il manque un morceau de code ou pas? Parce que tu utilises la variable NbTr et tu ne la définit nul part, elle vaut donc toujours 0.

@+

Edition : Arfff, salut Didier, le temps de taper sans avoir rafraichit la page...
__________________
« Connaître son ignorance est la meilleure part de la connaissance. »
porcinet82 est déconnecté   Réponse avec citation
Vieux 24/07/2006, 16h37   #4 (permalink)
XLDnaute Occasionel
 
Date d'inscription: juin 2006
Messages: 201
Par défaut Re : Copie multiple au sein d'une boucle

Salut porcinet82,dg62

NbTr est une variable que je défini plus tot dans ma macro

C'est un nombre que j'initialise a la valeur que je veu.

Set wD = Sheets("Feuil" & 3 + NbTr)
et oui je suis sur que mon erreur vien de la.
car wD sera égale à la dernière valeur, et n'évoluera pas

Avec le code complet, c'est toujours mieu

http://cjoint.com/?hypK4SAsrK
baptbapt est déconnecté   Réponse avec citation
Vieux 24/07/2006, 16h48   #5 (permalink)
XLDnaute Accro
 
Date d'inscription: février 2005
Localisation: Arras
Version Excel : Excel 2003 (PC)
Messages: 1 422
Envoyer un message via MSN à dg62
Par défaut Re : Copie multiple au sein d'une boucle

re


as tu essayé de mettre Set wD = Sheets("Feuil" & 3 + NbTr) à l'interieur de la boucle ?
__________________
@+

dg62 est déconnecté   Réponse avec citation
Vieux 24/07/2006, 16h52   #6 (permalink)
XLDnaute Barbatruc
 
Avatar de porcinet82
 
Date d'inscription: mars 2005
Localisation: Issy les Moulineaux
Version Excel : Excel 2003 (PC)
Messages: 3 254
Envoyer un message via MSN à porcinet82
Par défaut Re : Copie multiple au sein d'une boucle

re,

Pas sur du tout mais je dirais quelque chose du genre :
Code PHP:
For 1 To NbTr
Set wD 
Sheets("Feuil" t)
1
Determine derniere ligne fichier source 
@+

Edition : Rhooo, c'est pas possible ca, 2 fois que tu es plus est rapide que moi, ca commence a bien faire
__________________
« Connaître son ignorance est la meilleure part de la connaissance. »
porcinet82 est déconnecté   Réponse avec citation
Vieux 24/07/2006, 16h59   #7 (permalink)
XLDnaute Occasionel
 
Date d'inscription: juin 2006
Messages: 201
Par défaut Re : Copie multiple au sein d'une boucle

t ne fonctionne pas
si je met p, sa marche pas non plus

y a que ma variable NbTr qui fonctionne, mais qui me copie pas se que je veu
baptbapt est déconnecté   Réponse avec citation
Vieux 24/07/2006, 17h03   #8 (permalink)
XLDnaute Occasionel
 
Date d'inscription: juin 2006
Messages: 201
Par défaut Re : Copie multiple au sein d'une boucle

Code:
'Saisie du nombre de tranches d'analyse
  Do
    NbTr = InputBox("Entrez une valeur de 1 à 256", "NOMBRE DE TRANCHES DE 2 MINUTES", 10)
  Loop Until (Val(NbTr) > 0) And (Val(NbTr) < 257)

'Création des feuilles supplémentaires pour les intervals
Dim s As Worksheet

For p = 1 To NbTr
 Set s = Sheets.Add(After:=Sheets(Sheets.Count))
 s.Name = "Feuil" & 3 + p
Next p

'Copie des données de la tranche 1 à la feuille 4
 Dim wS As Worksheet 'Feuille source
 Dim wD As Worksheet 'Feuille destination
 'Dim Derlig As Integer 'Derniere ligne fichier source
 'Affecte les feuilles sources/destination (de la copie)
 Set wS = Sheets("Feuil3")
 Set wD = Sheets("Feuil4")

 J = 1
 'Determine derniere ligne fichier source
 Derlig = wS.Cells(65535, 5).End(xlUp).Row 'Derniére ligne rempli colonne 5 fichier source
 If Derlig < 2 Then
   MsgBox "Aucune données ", vbCritical
   Exit Sub
 End If
 ' Boucle sur lignes fichier source
 For I = 2 To Derlig
   If wS.Cells(I, 2) = Secteur And wS.Cells(I, 5) = 1 Then
     'Copie ...
     wD.Rows(J).Value = wS.Rows(I).Value
     J = J + 1
   End If
 Next I
Voila mon système lorsque je ne copiais pas en boucle.
Je prenais les éléments de la feuille3 et je copie en 4 les éléments ayant la valeur1 en colonne 5 de la feuille3

1 étant égale à la première valeur de NbTr

J'ai voulu mettre une boucle pour faire la meme chose sur les autres feuilles que j'ai crée.

Mais rien ni fait
baptbapt est déconnecté   Réponse avec citation
Vieux 24/07/2006, 17h08   #9 (permalink)
XLDnaute Accro
 
Date d'inscription: février 2005
Localisation: Arras
Version Excel : Excel 2003 (PC)
Messages: 1 422
Envoyer un message via MSN à dg62
Par défaut Re : Copie multiple au sein d'une boucle

re

Code:
For t = 1 To NbTr
Set wD = Sheets("Feuil" & 3 + t)
 J = 1
 'Determine derniere ligne fichier source
 Derlig = wS.Cells(65535, 5).End(xlUp).Row 'Derniére ligne rempli colonne 5 fichier source
 If Derlig < 2 Then
   MsgBox "Aucune données ", vbCritical
   Exit Sub
 End If
 ' Boucle sur lignes fichier source
 For I = 2 To Derlig
   If wS.Cells(I, 2) = Secteur And wS.Cells(I, 5) = NbTr Then
     'Copie ...
     wD.Rows(J).Value = wS.Rows(I).Value
     J = J + 1
   End If
 Next I
 Set wD = Nothing
Next t
__________________
@+

dg62 est déconnecté   Réponse avec citation
Vieux 24/07/2006, 17h14   #10 (permalink)
XLDnaute Accro
 
Date d'inscription: février 2005
Localisation: Arras
Version Excel : Excel 2003 (PC)
Messages: 1 422
Envoyer un message via MSN à dg62
Par défaut Re : Copie multiple au sein d'une boucle

re


If wS.Cells(I, 2) = Secteur And wS.Cells(I, 5) = t Then
__________________
@+

dg62 est déconnecté   Réponse avec citation
Vieux 24/07/2006, 17h24   #11 (permalink)
XLDnaute Occasionel
 
Date d'inscription: juin 2006
Messages: 201
Par défaut Re : Copie multiple au sein d'une boucle

Merci Didier

Problème résolut.

Enfin celui la.

Yen a d'autre, beaucoup d'autre.

Mais sa je verai demain, le boulot, c'est fini pour aujourd'hui.


Merci Didier, Merci Porcinet
baptbapt est déconnecté   Réponse avec citation
Vieux 24/07/2006, 21h32   #12 (permalink)
XLDnaute Accro
 
Date d'inscription: mai 2005
Localisation: Tongres
Version Excel : Excel 2000 (PC)
Messages: 1 824
Par défaut Re : Copie multiple au sein d'une boucle

bonsoir Bapt,Porcinet,Dg

tu as une réponse sur l'ancien fil depuis le 21/7 à 12h56

à bientôt
Bebere est connecté maintenant   Réponse avec citation
Vieux 25/07/2006, 13h41   #13 (permalink)
XLDnaute Accro
 
Date d'inscription: mai 2005
Localisation: Tongres
Version Excel : Excel 2000 (PC)
Messages: 1 824
Par défaut Re : Copie multiple au sein d'une boucle

bonjour Bapt,Dg,Porcinet
pas certain d'avoir bien compris,mais je pense que cela t'aidera
à bientôt
Fichiers attachés
Type de fichier : zip HelpMe1.zip (14,8 Ko, 8 affichages)
Bebere est connecté maintenant   Réponse avec citation
ANNONCES
Réponse

Liens sociaux

Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui

Discussions similaires
Discussion Auteur Forum Réponses Dernier message
copie multiple de ligne alma Forum Excel Downloads - Archives 1 22/09/2004 16h13
Somme au sein même d'une cellule? Kiko Forum Excel Downloads - Archives 8 30/07/2004 10h07
boucle multiple et compteur sur .Find albert Forum Excel Downloads - Archives 3 25/05/2004 19h31
selection au sein d'un boucle Reeaz Forum Excel Downloads - Archives 3 27/06/2003 18h20
Selection multiple dans une boucle for Pascal Forum Excel Downloads - Archives 3 29/07/2002 11h56


Fuseau horaire GMT +2. Il est actuellement 17h08.


(C) 2006 Excel Downloads