transfert automatique d'une base de données vers d'autres feuilles variables

  • Initiateur de la discussion Initiateur de la discussion Bérengère
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

B

Bérengère

Guest
Bonjour le forum,
Vous aviez déjà réussi à m'aider pour d'autres pb et aujourd'hui j'ai encore besoin de votre aide!!!
Je dois saisir des données sur ma feuille "Liste": je rentre des données correspondantes à différents numéros d'OF.
J'active la macro que j'ai trouvé et arrangé, du coup j'obtiens les feuilles correspondantes aux différents OF mais je ne sais pas comment faire pour que les données de la ligne correspondantes aux numéros d'OF soient recopiées dans les bonnes feuilles (voir mon classeur et activer la macro).
Que faut-il faire pour que les données concernant les différents OF soient récopiées et réparties dans les bonnes feuilles correspondantes?
Je vous remercie d'avance pour votre aide et vos conseils.
Bérengère
 

Pièces jointes

Dernière modification par un modérateur:
Re : transfert automatique d'une base de données vers d'autres feuilles

personne pour m'aider?
En fait sur le forum j'ai trouvé une macro qui recopie des données dans une autre feuille mais avec mon classeur je ne sais pas à l'avance le nom de la feuille qui va être créée
 
Re : transfert automatique d'une base de données vers d'autres feuilles variables

Re Bérengère,

Bon fini de rire.

J'ai modifié la feuille Modèle ainsi que la macro :

Code:
Sub FEUILLES()
Dim dercel As Range, cel As Range
With Sheets("Liste")
  Set dercel = .Range("A65536").End(xlUp)
  If dercel.Row < 3 Then Exit Sub
  Application.ScreenUpdating = False
  Application.DisplayAlerts = False 'à cause des noms définis...
  On Error Resume Next 'si le nom d'une feuille est déjà utilisé
  For Each cel In .Range("A3", dercel)
    If cel <> "" Then
      If IsError(Sheets(cel.Text).Name) Then
        Sheets("Modèle").Copy After:=Worksheets(Worksheets.Count)
        Worksheets(Worksheets.Count).Name = cel.Text
      End If
      With Sheets(cel.Text)
        .[B1] = cel
        cel.Offset(, 1).Resize(, 8).Copy .[A65536].End(xlUp)(2)
      End With
    End If
  Next
  .Activate
End With
End Sub

Fichier joint.

Edit : ah oui, ici il faut écrire If dercel.Row < 3 Then Exit Sub

A+
 

Pièces jointes

Dernière édition:
Re : transfert automatique d'une base de données vers d'autres feuilles variables

merci beaucoup job75, ça va me faire gagner un temps précieux!!!
je me permettrai de revenir vers vous si j'avais un souci mais à première vue ça fonctionne bien!
je savais que je pouvais compter sur le forum!!!
 
Re : transfert automatique d'une base de données vers d'autres feuilles variables

j'ai un petit souci: j'ai fait toutes mes saisies et lancer plusieurs fois la macro et du coup j'ai des doublons lors du recopiage dans les différentes feuilles
ex si je fais des saisies pour le 04/01/2011 et je lance la macro => impec mais si après je saisis le 05/01/2011 et je lance la macro=> j'obtiens le recopiage du 04/01/2011 une nouvelle fois + celui du 05/01/2011 => du coup j'ai 2 fois la journée du 04/01/2011
que faire pour ne plus avoir de doublons?
merci d'avance pour votre aide
 
Re : transfert automatique d'une base de données vers d'autres feuilles variables

Re bérengère,

Il faut repérer dans la feuille Liste les lignes transférées dans une feuille par un repère (x) ou une coloration de la ligne.

Et faire un test dans la macro pour que le transfert ne se fasse pas s'il a déjà eu lieu.

C'est un bon exercice pour qui, comme vous, veut progresser en VBA 🙂

A+
 
Re : transfert automatique d'une base de données vers d'autres feuilles variables

bonjour,
je ne me sors pas, j'ai un début de formule mais je n'arrive pas à la finir et ne sais pas trop où la mettre dans la macro
Je pense qu'en rajoutant une condition dans la macro en disant de recopier les lignes correspondant aux cellules de couleur, ça éviterait les doublons mais je n'arrive pas

voici le début de formule:
For i=Range ("A65536").End(xlUp).Row To 1 Step -1
If Cells(i,1) <>"" then
If Cells(i,1).Interior.Colorindex <> xlNone Then Range (Cells(i,2), Cells(i,8)). ET LA JE BLOQUE JE VOUDRAIS COPIER
End If
End If
Next i

Merci de votre aide
 
Re : transfert automatique d'une base de données vers d'autres feuilles variables

Bonjour Bérengère,

je ne me sors pas (...)

Dommage, je suis persuadé que vous pouviez faire ça toute seule.

Alors voyez comme c'est simple dans ce fichier (2).

A+
 

Pièces jointes

Re : transfert automatique d'une base de données vers d'autres feuilles variables

merci beaucoup, effectivement lorsque je regarde la macro j'ai bien compris et en fait je cherchais plus compliqué alors que c'est simple!
encore merci de votre aide ça me dépanne bien
@+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Retour