Récupérer des données d'1 feuille sur 1 autre

Jimc

XLDnaute Nouveau
Bonjour à tous,
Je souhaiterai récupérer des données d'une feuille de calcul vers une autre, via une macro, et je voudrai savoir si cette demande est faisable.
Je joins ci-dessous quelques explications ainsi qu'un fichier Zip.
Sur la "feuil1" se trouve un planning.
De B5 à B41 sont saisis des noms de l'equipe1
Puis de B42 à B47 les noms de l'équipe 2 . Soit au total 43 personnes
De C5 à H47 on renseigne des codes par journée.
PROBLEME
Je souhaiterai pouvoir reprendre sur la "feuil2" de la cellule C5 jusqu'à C41 tous les noms de la "feuil1"(B5 à B41) qui n'ont pas de lettres (R,C ou APS) en colonne C de C5 à C41.
Puis idem de la "feuil1" de C42 à C47 vers "feuil2" à partir de C134
Ensuite , en 'feuil1" les noms à qui correspond la lettre "C" doivent être renseignés sur la "feuil2" à partir de la cellule D65, D66, D67 etc...
Puis , en 'feuil1" les noms à qui correspond la lettre "R" doivent être renseignés sur la "feuil2" à partir de la cellule D70, D71, D72 etc...
Enfin , en 'feuil1" les noms à qui correspond les lettres "APS" doivent être renseignés sur la "feuil2" à partir de la cellule D89, D90, D91 etc...
Voilà espérant que ma demande et assez claire et qu'elle trouvera une réponse.
Merci
 

Pièces jointes

  • Planning.zip
    7.7 KB · Affichages: 36
  • Planning.zip
    7.7 KB · Affichages: 39
  • Planning.zip
    7.7 KB · Affichages: 34

skoobi

XLDnaute Barbatruc
Re : Récupérer des données d'1 feuille sur 1 autre

Bonjour Jimc, bienvenue sur XLD :),

Je souhaiterai pouvoir reprendre sur la "feuil2" de la cellule C5 jusqu'à C41 tous les noms de la "feuil1"(B5 à B41) qui n'ont pas de lettres (R,C ou APS) en colonne C de C5 à C41.

voici dans un premier temps le code pour cela (à mettre dans un module ou un bouton controle, au choix):

Code:
For Each nom In Sheets("Feuil1").[B5:B41]
   If nom.Offset(0, 1).Value = "" Then Sheets("Feuil2").Range("C" & nom.Row + 1).Value = nom.Value
Next

A continuer....
 

Staple1600

XLDnaute Barbatruc
Re : Récupérer des données d'1 feuille sur 1 autre

Re



Cela fonctionne mieux ainsi (désolé :rolleyes:)

Code:
Sub test_Skoobi_III()
For Each nom In Sheets("Feuil1").[B5:B41]
   If Not nom.Offset(0, 1).Value Like "*APS*" And Not nom.Offset(0, 1).Value Like "*R*" And Not nom.Offset(0, 1).Value Like "*C*" Then
   Sheets("Feuil2").Range("C" & nom.Row + 1).Value = nom.Value
   End If
Next
End Sub
 

Jimc

XLDnaute Nouveau
Re : Récupérer des données d'1 feuille sur 1 autre

Re,
> Je souhaiterai pouvoir reprendre sur la "feuil2" de la cellule C5 jusqu'à C41
> tous les noms de la "feuil1"(B5 à B41) qui n'ont pas de lettres (R,C ou APS)
> en colonne C de C5 à C41.
Ça marche parfaitement ! Merci

2°) Comment "envoyer" suivant la même procédure de la "feuil1" de C42 à C47 vers "feuil2" à partir de C134
3°) Puis idem de la "feuil1" de C42 à C47 vers "feuil2" à partir de C134
4°)Ensuite , en 'feuil1" les noms à qui correspond la lettre "C" doivent être "collés" sur la "feuil2" à partir de la cellule D65, D66, D67 etc...
5°)Puis , en 'feuil1" les noms à qui correspond la lettre "R" doivent être "collés"sur la "feuil2" à partir de la cellule D70, D71, D72 etc...
6°) Enfin , en 'feuil1" les noms à qui correspond les lettres "APS" doivent être "collés" sur la "feuil2" à partir de la cellule D89, D90, D91 etc...

Encore merci.
JM
 

Staple1600

XLDnaute Barbatruc
Re : Récupérer des données d'1 feuille sur 1 autre

RE



Le plus simple serait que tu joignes un fichier exemple (zippé) et sans données confidentielles, pour que l'on soit plus efficace

Question: dans les cellules traités
il n'y a que R C ou APS

ou il peut y avoir (par exmple)
fq C hhh
qffh APS gsgsg
R
RR
ff R
 

Jimc

XLDnaute Nouveau
Re : Récupérer des données d'1 feuille sur 1 autre

Re,
Fichier zip en pièce jointe.
> Question: dans les cellules traités
> il n'y a que R C ou APS
> ou il peut y avoir (par exmple)
> fq C hhh
> qffh APS gsgsg
> R
> RR
> ff R
En fait tu verras dans le fichier que les lettres utilisées sont C,R,APS,M,AT je pense qu'il n'y en aura pas d'autres. j'ai fait des essais avec ton dernier code en y intégrant toutes les lettres et ça marche très bien.
En voyant le fichier tu remarqueras que sur la feuille1 , je n'ai renseigné que la cellule C. En utilisation les plages D5 à D47 ainsi que E5 à E47 et ainsi de suite sont elles aussi renseignées. et je pensais pouvoir recopier ton code en modifiant les plages de la feuille1 mais je crains de rencontrer un problème pour renseigner l'endroit ou certaines données doivent être collées sur la feuille2 (voir 4° , 5° et 6° ) de mon précédent mail.
Voilà.
Merci Staple1600
 

Pièces jointes

  • Planning.zip
    8 KB · Affichages: 28
  • Planning.zip
    8 KB · Affichages: 28
  • Planning.zip
    8 KB · Affichages: 30

Staple1600

XLDnaute Barbatruc
Re : Récupérer des données d'1 feuille sur 1 autre

Re


Dans le cas ou la cellule ne contient qu'une seule chaine possible

doit convenir


Code:
Sub test_Skoobi_IV()
For Each nom In Sheets("Feuil1").[B5:B41]
   Select Case nom.Offset(0, 1).Value
 Case Is <> "C","R","APS","M","AT"
Sheets("Feuil2").Range("C" & nom.Row + 1).Value = nom.Value
End Select
Next
End Sub
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 348
Messages
2 087 508
Membres
103 569
dernier inscrit
zeiffel976