N° colonne en fonction de x das une boucle For Next

Jacky1002 Messages postés 94 Date d'inscription mardi 11 mai 2010 Statut Membre Dernière intervention 3 avril 2011 - 6 juin 2010 à 16:06
Jacky1002 Messages postés 94 Date d'inscription mardi 11 mai 2010 Statut Membre Dernière intervention 3 avril 2011 - 6 juin 2010 à 16:10
Bonjour,

j'ai un ptit problème :

je fais un classeru pour éditer des demande d'intervention préventive de maintenance.

Dans un classeur j'ai 2 feuilles une "EMP" l'autre "DI"

sur "EMP" e colonne A j'ai des nom de secteur, en B des nom de machine, en C des interventions, et en D une liste de matériel (utile a l'intervention sur la meme ligne

ensuite de la colonne H à BG (52) la ligne 2 porte les n° semaine de l'année et au croisement des lignes et des colonne portant le n° de semaine j'ai des X quand l'opération est a rélisée et rien si elle n'est pas à réaliser.

j'ai fais une macro pour copier vers la feuille "DI" les cellule A B C D des ligne portant un X en fonction du n° de semaine repris dans la cellule E3 de la feuille "DI" sou la forme "Sem. 24" .

Le problème cest que sur la ligne en rouge (ci dessous) la macro regarde dans la colonne H. sauf que la colonne correspond à lasemaine n°1 (x=1) mais si x=2 alors je voudrais utiliser la colonne I si x=3 je voudrais la colonne J .... mais je ne trouve pas le moyen de faire ca
auriez vous une idée??

Voici le code :

Sub DI()
For x = 1 To 52 'boucle pour le N° de semaine'
Select Case Sheets("DI").Range("E3").Value 'Valeur de la cellule E3'
Case "Sem. " & x
For i = 3 To 101 'ici la boucle balaye les lignes de 3 à 101 de la feuille "EMP"'
[color=red]If Sheets("EMP").Range("H" & i) = "X" Then' 'si la cellule Hi contient un X alors je copie le secteur la machine l'opération le matériel vers la feuille "DI"
'Secteur'
Sheets("DI").Range("A" & Sheets("DI").Range("A200").End(xlUp).Row + 1).Value = Sheets("EMP").Range("A" & i).Value
'Machine'
Sheets("DI").Range("B" & Sheets("DI").Range("B200").End(xlUp).Row + 1).Value = Sheets("EMP").Range("B" & i).Value
'Operation'
Sheets("DI").Range("C" & Sheets("DI").Range("C200").End(xlUp).Row + 1).Value = Sheets("EMP").Range("C" & i).Value
'Materiel'
Sheets("DI").Range("D" & Sheets("DI").Range("D200").End(xlUp).Row + 1).Value = Sheets("EMP").Range("E" & i).Value
Else
End If
Next
End Select
Next
End Sub/color


Merci
Jacky
A voir également:

1 réponse

Jacky1002 Messages postés 94 Date d'inscription mardi 11 mai 2010 Statut Membre Dernière intervention 3 avril 2011
6 juin 2010 à 16:10
Ca sera mieu comme ca...

Sub DI()
For x = 1 To 52 'boucle pour le N° de semaine'
Select Case Sheets("DI").Range("E3").Value 'Valeur de la cellule E3'
Case "Sem. " & x
For i = 3 To 101 'ici la boucle balaye les lignes de 3 à 101 de la feuille "EMP"'
If Sheets("EMP").Range("H" & i) = "X" Then' 'si la cellule Hi contient un X alors je copie le secteur la machine l'opération le matériel vers la feuille "DI"
'Secteur'
Sheets("DI").Range("A" & Sheets("DI").Range("A200").End(xlUp).Row + 1).Value = Sheets("EMP").Range("A" & i).Value
'Machine'
Sheets("DI").Range("B" & Sheets("DI").Range("B200").End(xlUp).Row + 1).Value = Sheets("EMP").Range("B" & i).Value
'Operation'
Sheets("DI").Range("C" & Sheets("DI").Range("C200").End(xlUp).Row + 1).Value = Sheets("EMP").Range("C" & i).Value
'Materiel'
Sheets("DI").Range("D" & Sheets("DI").Range("D200").End(xlUp).Row + 1).Value = Sheets("EMP").Range("E" & i).Value
Else
End If
Next
End Select
Next
End Sub

Merci
Jacky
0
Rejoignez-nous