Autres Copier donnée sur autre feuille

PatG

XLDnaute Nouveau
Bonsoir,

Excel 2007

Voila mon soucis. j'ai un fichier avec 3 feuilles la première reprend les informations globales de personne qui s'inscrivent à une manifestation canine j'ai des colonnes allant de A à R ( nom prenom nomchien sexechien agechien classechien adresse .....) nom de la feuille= Lst2019 ( sur +-* 80 lignes)
La deuxième feuille reprend tous les femelles inscrites feuil=Lstfemelles donc exactement la même chose que sur la feuille 2019 mais juste pour les femelles
la troisième feuille reprend tous les mâles inscrits feuil= Lstmales
J'aimerai que lorsque je complète la feuille 2019, les infos puissent se compléter automatiquement sur la feuille Lstfemelles si dans le colonne sexe il y a un F ou alors dans la feuille Lstmales si dans la colonne sexe il y a un M.
Pour l'instant je les regroupe et fait des copier/coller mais cela n'est pas pratique du tout.
Pourriez vous m'aider.

Merci beaucoup
Pat
 

Paritec

XLDnaute Barbatruc
bonjour Patg le forum
tu passes ton fichier et on va faire.
une question cependant, les modifications que tu aurais à faire sur le fichier, ce sera toujours ""que"" sur la feuille lst2019???
a+
Papou :)
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonjour @PatG, bienvenue sur XLD :),

A adapter à votre cas particulier...Le code doit se mettre dans le module de la feuille Lst2019. Les deux autres feuilles sont mises à jour quand on quitte la feuille 2019.
VB:
Private Sub Worksheet_Deactivate()
Dim t, v, i&, j&, nt&, nv&
  t = Me.Range("a1").CurrentRegion: v = Me.Range("a1").CurrentRegion
  nt = 1: nv = 1
  For i = 2 To UBound(t)
    If t(i, 2) = "M" Then   ' 2 = n° de colonne du sexe
      nt = nt + 1: For j = 1 To UBound(t, 2): t(nt, j) = t(i, j): Next
    Else
      nv = nv + 1: For j = 1 To UBound(t, 2): v(nv, j) = t(i, j): Next
    End If
  Next i
  Application.ScreenUpdating = False
  Sheets("Lstmales").Columns(1).Resize(, UBound(t, 2)).Clear
  Sheets("Lstmales").Range("a1").Resize(nt, UBound(t, 2)) = t
  Sheets("Lstfemelles").Columns(1).Resize(, UBound(t, 2)).Clear
  Sheets("Lstfemelles").Range("a1").Resize(nv, UBound(t, 2)) = v
End Sub
edit : bonjour @Paritec :)
 
Dernière édition:

PatG

XLDnaute Nouveau
bonjour Patg le forum
tu passes ton fichier et on va faire.
une question cependant, les modifications que tu aurais à faire sur le fichier, ce sera toujours ""que"" sur la feuille lst2019???
a+
Papou :)
Me voici lol
voila le fichier j'ai encodé juste 2 lignes.
J'ai exactement la même chose pour la colonne repas mais je suppose que si vous m'aiguillez pour ma premiere demande d'aide je devrai me debrouiller lol

merci beaucoup pour votre aide précieuse

Pat
 

Fichiers joints

Paritec

XLDnaute Barbatruc
Bonjour Patg MaPomme :) le forum
ton fichier en retour avec la macro de MaPomme rectifiée
Tu ouvres tu ajoutes un mâle ou une femelle et tu regardes et tu nous redis
a+
Papou:)
 

Fichiers joints

PatG

XLDnaute Nouveau
Hello me revoilà
c'est super top c'est ce que je voulais mais il apparait que lorsque je crée une ligne le format de ma colonne puce qui est en Nombre de 0 decimale lorsq'elle se copie sur la page Femelle ou mâle ne se met pas au format mais affiche 9.1253 +14 idem pour les dates qui changent de format.
J'ai essayé de mettre un autre format de cellule mais cela revient toujours.
Pourriez vous m'aiguiller ?
Merci beaucoup
 

Paritec

XLDnaute Barbatruc
Bonjour PatG le forum
je vais regardé, mais tu aurais pu repasser le fichier avec les défauts que je puisse faire les modifications
a+
Papou :)
 

Paritec

XLDnaute Barbatruc
Bonjour PatG le forum
voilà avec la macro modifiée pour ton numéro de puce à 15 chiffres
a+
Papou :)
 

Fichiers joints

Paritec

XLDnaute Barbatruc
Bonjour PatG le forum
voilà avec la macro modifiée pour ton numéro de puce à 15 chiffres et aussi ton format date au format "dd/mm/yyyy"
a+
Papou :)
 

Fichiers joints


Haut Bas