Ventilation de donnees sur plusieurs feuilles

  • Initiateur de la discussion POLO
  • Date de début
P

POLO

Guest
Bonjour à tout le forum

Avec la réponse de Nevil (suite à un problème de base de données que j'avais) j'ai mis en application et j'arrive à un autre fichier qui reprend le cumul de plusieurs information. C'est pourquoi j'ouvre un nouveau fil car le sujet n'est plus le même

Je voudrais pouvoir ventiler mes informations de la feuille commande sur une feuille différente pour chaque client (voir exemple).
Je fais donc un premier tri par client puis je veux copier les infos nécessaires de la feuille commande vers les autres feuilles. J'y arrive avec un seul client, mais pour plusieurs je pense qu'il faut définir des variables et/ou faire une boucle avec une serie de IF mais j'y arrive pas. Snif.
Bien là il y a 4clients dans l'exemple mais en réalité y en a plus.

Merci d'avance de votre aide
 
P

Polo

Guest
Plus facile à comprendre avec le fichier zippé correctement peut etre ? [file name=macropourventilation.zip size=8116]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/macropourventilation.zip[/file]
 

Pièces jointes

  • macropourventilation.zip
    7.9 KB · Affichages: 296

Hervé

XLDnaute Barbatruc
Bonsoir polo, tonton claude, le forum

peut etre comme ceci, surement à adapter :


Sub ventilation()
'
' ventilation Macro
' Macro enregistrée le 25/03/2006 par Propriétaire
'

'
Dim c As Range
Dim derligne As Integer

        Range('A3:G14').Sort Key1:=Range('A3'), Order1:=xlAscending, Header:=xlGuess, _
                OrderCustom:=1, MatchCase:=
False, Orientation:=xlTopToBottom, _
                DataOption1:=xlSortNormal

For Each c In Range('a3:a' & Range('a65536').End(xlUp).Row)
On Error GoTo pasbon
       
With Sheets(Trim(c.Text))
                derligne = .Range('b65536').End(xlUp).Row + 1
                .Cells(derligne, 2) = c
                .Cells(derligne, 3) = c.Offset(0, 2)
                .Cells(derligne, 4) = c.Offset(0, 6)
                .Cells(derligne, 5) = c.Offset(0, 5)
       
End With
Next c
Exit Sub
pasbon:
MsgBox 'La feuille ' & c & ' n'existe pas.'
Resume Next
End Sub


salut
 
P

POLO

Guest
Bonjour à tous

Merci Hervé pour la réponse et la rapidité.
Cela correspond à ce que jouhaitais faire et j'ai même réussi à adapter à une autre opération du même style mais avec des critères différents.
Comme quoi grâce au forum surtout et un peu de persévérance je finirai bien par arriver au bout de mon projet.

A bientôt peut être.
 

cpetre86

XLDnaute Nouveau
Re : Ventilation de donnees sur plusieurs feuilles

Bonjour à tous.

Cette macro ultra géniale en apparence ne fonctionne pas sur Excel 2007... ou alors je m'y prend comme un manche.

Est-ce que quelqu'un pourrait m'aider svp ?
merci merci merci !!!!
 

Discussions similaires

Réponses
5
Affichages
131

Statistiques des forums

Discussions
312 149
Messages
2 085 771
Membres
102 970
dernier inscrit
JMaurice