Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Arriver aux mêmes N° de semaines

  • Initiateur de la discussion Initiateur de la discussion Boby71C
  • 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 !

Boby71C

XLDnaute Impliqué
Bonjour à tous
J'ai 1 document de données importées de différents fichiers par code VBA. Jusqu'ici, tout va bien.
Mon problême est que chaque fichier de données importées n'est pas systématiquement au même N° de semaine que les autres. Je me retrouve donc avec des graphiques difficiles à réaliser.
Comment faire pour supprimer les semaines de chaque zône sans supprimer les données de la colonne sup ou inf qui sont < au N° de semaine renseigné en G1.
Je vous joint un petit fichier qui sera certainement plus explicite.

Merci pour votre aide.
@+
 

Pièces jointes

Re : Arriver aux mêmes N° de semaines

Salut

Pourquoi, lors da la recup des information, tu ne crées pas une feuille avec tes 52,53 semaines, ru recuperes dans les bonnes semaines et ensuite tu traites ce que tu veux

salutations
 
Re : Arriver aux mêmes N° de semaines

Bonjour Wilfred et le Forum
Je suis assez mauvais en VBA et j'utilise essentiellement l'enregistreur, audelà, je n'y connais pas grand chôse et surtout en boucles.
J'ai donc importé mes données comme dans l'exemple joint, mais maintenant, il est impératif que je supprime les morceaux de colonnes des semaines inférieurs à la semaine du moment.
je pense utiliser une boucle pour tester:
Si C2 est < à G1, je supprime C2 à C4
je continue de tester C2 tant qu'il n'est pas >= à G1
Si >= alors je test
Si C7 est < à G1, je supprime C7 à C9
je continue de tester C7 tant qu'il n'est pas >= à G1
Si >= alors je test
Si C12 est < à G1, je supprime C12 à C17
je continue de tester C12 tant qu'il n'est pas >= à G1
Si >= alors j'arrête
Merci pour ton aide.
@+
 
Re : Arriver aux mêmes N° de semaines

Bonjour JP
Excellent travail, il y a juste un petit souci, il est impératif que mes 3 zônes se retrouvent au N° de semaine indiqué en G1.
Je suis désolé d'être aussi pointilleux, mais il est certain que au minimum une des zônes sera à la semaine en cour, et également certain que se ne sera jamais la même, il est impératif de tester les 3 zônes et de les ramener en colonne C au N° de semaine qui est en G1.

Merci beaucoup pour votre aide à tous
@+
 
Re : Arriver aux mêmes N° de semaines

Re bonjour à tous
Après avoir analysé le code de JP, j'y ai apporté quelques modifs et le but est atteint. Voici le code modifié:

Sub recopie()
Dim i As Long
Dim nomfeuille3 As String
Dim dc1 As Integer
Dim nusema As Integer
nomfeuille3 = "Données"
Dim ligne As Long
Dim j As Integer
Dim j1 As Integer
Dim j3 As Integer
Dim nbligne As Integer
' pour toutes les semaines de la ligne 2 début colonne C
'For i = 3 To Sheets(nomfeuille3).Range("IV2").End(xlToLeft).Column
nusema = Sheets(nomfeuille3).Cells(1, 7)
' Zone 1
ligne = 2 ' ligne contenant les semaines de la zone
nbligne = 3 ' nombre de lignes dans la zone
'*******************
dc1 = Sheets(nomfeuille3).Range("IV" & ligne).End(xlToLeft).Column
For i = 3 To dc1
If nusema = Sheets(nomfeuille3).Cells(ligne, i) Then Exit For
Next i
' on deplace les colonnes
'Range(Cells(ligne, 3), Cells((ligne + nbligne - 1), dc1)).Cut Destination:=Range(Cells(ligne, i), Cells((ligne + nbligne - 1), dc1))
'recopie
If i > 3 Then ' pas de recopie si le numéro de semaine est ok
j3 = 3 'colonne C
For j = i To dc1
For j1 = ligne To ligne + nbligne - 1
Sheets(nomfeuille3).Cells(j1, j3) = Sheets(nomfeuille3).Cells(j1, j)
Next j1
j3 = j3 + 1
Next j
End If
'======================================================================
'zone 2
' recherche de la colonne contenant la semaine de la zone
'*******************
ligne = 7 ' ligne contenant les semaines de la zone
nbligne = 3 ' nombre de lignes dans la zone
'*******************
dc1 = Sheets(nomfeuille3).Range("IV" & ligne).End(xlToLeft).Column
For i = 3 To dc1
If nusema = Sheets(nomfeuille3).Cells(ligne, i) Then Exit For
Next i
' on deplace les colonnes
'Range(Cells(ligne, 3), Cells((ligne + nbligne - 1), dc1)).Cut Destination:=Range(Cells(ligne, i), Cells((ligne + nbligne - 1), dc1))
'recopie
If i > 3 Then ' pas de recopie si le numéro de semaine est ok
j3 = 3 'colonne C
For j = i To dc1
For j1 = ligne To ligne + nbligne - 1
Sheets(nomfeuille3).Cells(j1, j3) = Sheets(nomfeuille3).Cells(j1, j)
Next j1
j3 = j3 + 1
Next j
End If

'zone 3
' recherche de la colonne contenant la semaine de la zone
'*******************
ligne = 12 ' ligne contenant les semaines de la zone
nbligne = 6 ' nombre de lignes dans la zone
'*******************
dc1 = Sheets(nomfeuille3).Range("IV" & ligne).End(xlToLeft).Column
For i = 3 To dc1
If nusema = Sheets(nomfeuille3).Cells(ligne, i) Then Exit For
Next i

'recopie
If i > 3 Then ' pas de recopie si le numéro de semaine est ok
j3 = 3 'colonne C
For j = i To dc1
For j1 = ligne To ligne + nbligne - 1
Sheets(nomfeuille3).Cells(j1, j3) = Sheets(nomfeuille3).Cells(j1, j)
Next j1
j3 = j3 + 1
Next j
End If

End Sub

Merci à tous pour votre précieuse aide
@+
 
- 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

Discussions similaires

  • Question Question
Réponses
36
Affichages
3 K
J
  • Question Question
Réponses
11
Affichages
2 K
jerome022
J
S
Réponses
0
Affichages
2 K
Serious E
S
V
Réponses
2
Affichages
821
M
Réponses
11
Affichages
4 K
GRI84
G
P
Réponses
4
Affichages
1 K
Padbol
P
H
  • Question Question
Réponses
5
Affichages
1 K
ha61@hotmail.fr
H
F
Réponses
0
Affichages
13 K
floflo2411
F
G
Réponses
9
Affichages
18 K
guillaume3687irish
G
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…