Copier une valeur si valeur trouvée

titiborregan5

XLDnaute Accro
Bonjour à tous,
j'ai une question toute bête mais pour laquelle je n'ai pas trouvé la solution sur le forum :s

J'ai une référence en A3 : Février on va dire
Une valeur qui lui correspond en B3: 20 par exemple

Dans G3:G15 j'ai les mois : Janvier - Février - Mars - etc...

je souhaiterai que si la macro trouve A3 dans G3:G15, il me copie la valeur dans la colonne H (décalage à droite de 1) trouvée en B3.

Merci de vos lumières parce que là je bloque sur qqch de tout simple!!!


Bonne journée

Thibault
 

justine62000

XLDnaute Occasionnel
Re : Copier une valeur si valeur trouvée

bonjour catrice,le fil
j'ai un problemme similaire que je n'arrive pas a regler peux tu jeter un coup d'oeil
mon probleme:

si la valeur de la cellule h7 de la feuille mise a jour planning est egal a une des cellule f9 a u9 et f13 a u13 et ainsi de suite alors prendre le nom correspondant dans la colonne "d " de la meme ligne et effacer ce meme nom dans la feuille mise a jour planning

ou alors
rechercher la valeur de la cellule h7 de la feuille mise a jour planning dans la feuille conges si valeur egal prendre le nom dans la colone "d" de la ligne correspondante et effacer ce meme nom dans la feuille mise a jour planning

ci joint le fichier merci

merci justine
 

Pièces jointes

  • Classeur1.zip
    30.9 KB · Affichages: 82
  • Classeur1.zip
    30.9 KB · Affichages: 75
  • Classeur1.zip
    30.9 KB · Affichages: 74

Catrice

XLDnaute Barbatruc
Re : Copier une valeur si valeur trouvée

Bonjour,

en fait, la macro créé les listes de choix en fonction des données du classeur.
Donc normalement, il ne peut pas y avoir de plantage à ce niveau là puisque les données existent.
Je ne vois pas trop pourquoi tu as des problemes.
Il faudrait fournir ton fichier ...
 
Dernière édition:

titiborregan5

XLDnaute Accro
Re : Copier une valeur si valeur trouvée

Bonjour Catrice!
Je ne sais pas pourquoi ça plante, j'ai fait autrement en remplaçant une fois la macro faite les projet1 2 3 ... par les noms réels!!
Ca a été un peu plus long mais ça a marché!
je regarderai plus en détails et posterai ici si jamais je trouve qqch!!

ENCORE MERCI MILLE FOIS!!! Je te laisse dans les mains de Justine!!! ;)
Tjs aussi bien ce forum!
 

justine62000

XLDnaute Occasionnel
Re : Copier une valeur si valeur trouvée

Bonjour justine62000,

Je n'avais pas vu ton Post, maintenant c'est fait ;)

Peux tu poster ton fichier en version antérieure à Excel 2007 ?

voici le fichier format 97/2003

justine
 

Pièces jointes

  • planning test.zip
    19.2 KB · Affichages: 46
  • planning test.zip
    19.2 KB · Affichages: 46
  • planning test.zip
    19.2 KB · Affichages: 43

justine62000

XLDnaute Occasionnel
Re : Copier une valeur si valeur trouvée

Re,

Il faut effacer le nom de la colonne J du fichier "mise a jour planning" ?

oui seulement si le numero de semaine de conges de la personne en question dans la feuille conges est egal au numero de semaine de la feuillem ise a jour planning

en faite ce que je veux
j'ai une feuille de planning avec nom,horaire et en h7 le numero de la semaine en cours
j'ai une macro qui fonctionne qui me fait un roulement de chaque personne
la personne change d'horaire toute les semaine
je voudrais simplement que lorsque l'on entre un numero de semaine pour conges dans la feuille conges cette personne ne peut figurer sur le planning
attention il peux y avoir plusieur personne en conges en meme temps
 

Catrice

XLDnaute Barbatruc
Re : Copier une valeur si valeur trouvée

Bonsoir,

Voir le fichier joint

Code:
Sub Test()
With Sheets("conges (2)")
    Set c = .Cells.Find(Sheets("mise a jour planning").Range("H7").Value, LookIn:=xlValues, LookAt:=xlPart)
    If Not c Is Nothing Then
        firstAddress = c.Address
        Do
            MaLig = Application.Match(.Cells(c.Row, 4).Value, Sheets("mise a jour planning").Range("J20:J30"), 0)
            If Not IsError(MaLig) Then Sheets("mise a jour planning").Range("J20:J30").Offset(MaLig - 1, 0).Resize(1, 1).ClearContents
        Set c = .Cells.FindNext(c)
        Loop While Not c Is Nothing And c.Address <> firstAddress
    End If
End With
End Sub
 

Pièces jointes

  • planning test.zip
    24.7 KB · Affichages: 45
  • planning test.zip
    24.7 KB · Affichages: 46
  • planning test.zip
    24.7 KB · Affichages: 45

justine62000

XLDnaute Occasionnel
Re : Copier une valeur si valeur trouvée

re catrice
superbe ca fonctionne du premier coup ca fait 10 jour que je travaille dessus
par contre est il possible
exemple:maxence semaine 46 il travaille il fait l'horaire du personel1
semaine 47 il est en conges donc pas sur le planning
semaine 48 encore en conges il en a de la chance
semaine 49 il reprend le travaille il doit reprendre l'horaire du personel 4(puisqu'il a sauter 2 semaine)
est ce possible ca
tu comprend ce que je veux faire
tu est trop fort catrice

attention j'ai une macro qui me fait bouger les personnels de 1 a 8 (et apres le 8 il repasse en personel 1)
et un autre qui fait bouger le personel 9 et le personnel 10
encore un grand merci
grosse bide
justine
 

justine62000

XLDnaute Occasionnel
Re : Copier une valeur si valeur trouvée

Bonsoir,

L'histoire des Semaines 46 à 49 et Maxence, pas trop compris ... :(

bonjour
dans la page mise a jour planning seul le nom du personel change de place le reste ne bouge pas
a chaque seamine la liste de nom descend d'une case pour lles personels 1a 8(ensemble)
et les personel 9et 10(ensemble)
tous simplement on prend un exemple: jean
semaine 47:jean prend les horaires du personel 1
semaine 48:jean descend d'une case il prend les horaires du personel 2
semaine 49:jean descend d'une case il prend les horaires du personel 3
semaine 50:eek:n suppose que jean est en conges(il devarit etre en personel4 mais son nom ne s'affiche pas c'est normale)
semaine 51:jean n'est plus en conges il reprend donc sa place dans le planning en personel 5
et ainsi de suite pour les autres personnes

ci joint le fichier
jette un coup d'oeil

merci justine
 

Pièces jointes

  • planning test.zip
    32.5 KB · Affichages: 40
  • planning test.zip
    32.5 KB · Affichages: 42
  • planning test.zip
    32.5 KB · Affichages: 40

Catrice

XLDnaute Barbatruc
Re : Copier une valeur si valeur trouvée

Bonjour,

Je comprend bien le principe mais je ne vois pas comment ça fonctionne.
Comment les noms se déplacent ?
Comment remplace-t-on la personne en vacances ?
Semaine 48 Régine sera donc en Personnel 1 ?

Pour faire ce que tu veux, il faudrait mémoriser la place de Jean.
Que faudra t il faire de la personne qui remplaçait ?

Il y a un autre fichier lié, il contient quoi ?
 

justine62000

XLDnaute Occasionnel
Re : Copier une valeur si valeur trouvée

Bonjour,

Je comprend bien le principe mais je ne vois pas comment ça fonctionne.
Comment les noms se déplacent ?
Comment remplace-t-on la personne en vacances ?
Semaine 48 Régine sera donc en Personnel 1 ?

Pour faire ce que tu veux, il faudrait mémoriser la place de Jean.
Que faudra t il faire de la personne qui remplaçait ?

Il y a un autre fichier lié, il contient quoi ?

bonjour catrice
deja merci pour prendre un peu de temps pour moi
1)le roulement des personnes
1er cycle:
les personels de 1 a 8 chaque personne chaque semaine change d'horairei ldescende d'une case jusque personel 8 puis reprenne leur cycle a personel 1 en respectant l'ordre des noms(maxence ,rene ,pierre,jean,romain,jpaul,philippeet florian)
quand maxence descend d'une case,rne aussi et ainsi de suite
2eme cycle
les personels 9 et 10(coordinateurs) eux il change d'horaires idem chaque semaine mais seulement entre deux

la saisie des noms des personnes
en inscrivant le nom clavier ou liste validation

pour les changement d'horaires
1)soit on met le nom des personnes dans chaque cellule voir saisie des noms
2)une macro me fais descendre chaque personne de 1 case jusque personel 8et reprend a personel1
celle ci
Application.ScreenUpdating = False
Range("j27").Cut
Range("j20").Insert Shift:=xlDown
Application.ScreenUpdating = True
ActiveWorkbook.Names.Add Name:="ListChoisis", RefersToR1C1:= _
"='mise a jour planning'!R20C10:R30C10"
pour le changement d'horaire des personnes 9 et10
simplement des cellule qui se copie ,se colle est s'efface je ne mais pas le detail beaucopu de ligne pour pas grand chose (et je ne suis pas encore a ton niveau mais un jour??)

donc pour regine
semaine 48 pers.9
semaine 49 pers 10
semaine 50 pers.9
etc ,,,


le but
avant que le nom s'efface dans la mise a jour planning car la personne se trouve en conges il faudrais retenir a quelle horaire il effectue pour que lorsqu'il n'est plus en conges son nom se retrouve a la place voulut


pour le des personnes en conges qui s'efface
pour le moment on inscrira son nom directement la ou le nom s'est effacer
a moins que tu arrive a faire pour que lorsque le nom est effacer prendre en priorite dans la liste rest cxolonne l de la feuille mise a jour pla. remplacement1
si deja pris remplacement2 si deja pris remplacement 3 sinon laisser vide
j'ai aussi une maccro qui me previent des doublons
celle ci
Private Sub Worksheet_Change(ByVal Target As Range)


If Intersect(Range("J20:J30"), Target) Is Nothing Then Exit Sub
If Application.WorksheetFunction.CountIf(Range("J20:J30"), Target) > 1 Then
MsgBox "cette personne figure deja dans le planning"
Target.ClearContents
End If
End Sub

voila tu as tous les renseignements un peu long mais
comprend tu mieux ce que je veux faire

merci justine
 

Discussions similaires

Statistiques des forums

Discussions
312 215
Messages
2 086 316
Membres
103 176
dernier inscrit
jean.yvesjean.yves