EXCEL/MACRO décalage ligne sous condition
informatifien
Messages postés
781
Statut
Membre
-
informatifien Messages postés 781 Statut Membre -
informatifien Messages postés 781 Statut Membre -
Bonjour,
c'est encore moi, toujours le meme fichier mais nouveau problème, j'ai donc une ligne avec les jours de semaine en dates, je vais copier une ligne dans une autre feuille,je reviens dans ma feuille puis je la colle 2 fois dans les 2 lignes suivant celle où sont les dates avec ce code:
Do ' je cherche la ligne créer avec les dates mais par son numero d'OF
e = e + 1
Loop Until Application.Cells(e, 1) = b
Application.Cells(e + 1, 5).Select ' je selectionne la cellule en dessous de la 1ere date
ActiveSheet.Paste ' je colle mon code article
Application.Cells(e + 2, 5).Select ' je selectionne la cellule en dessous de la 1ere copie
ActiveSheet.Paste ' je colle mon code article une 2° fois
maintenant je voudrai retourner sur la ligne de date, donc retrouver ma variable 'e', puis tourner sur cette ligne (horizontalement) et chaque fois que je trouve un samedi insérer deux cellules dans la deuxième ligne copiée, en decallant vers la droite.
Ma question est:
puis me repositionner sur la bonne ligne juste en rappelant 'e' ou dois je refaire ma boucle? ensuite je supose que je dois faire une boucle horizontale pour trouver le samedi et coller le code de décalage. . .mais je ne veux pas que la boucle s'arete sur le samedi car il y en a plusieurs. . . .
Voilà si quelqu'un pouvait me donner une piste ce serait sympa sachant que pour trouver les samedi j'utilise ça: If Weekday(.Value) = 1
Merci d'avance pour vos lumières . . ..
c'est encore moi, toujours le meme fichier mais nouveau problème, j'ai donc une ligne avec les jours de semaine en dates, je vais copier une ligne dans une autre feuille,je reviens dans ma feuille puis je la colle 2 fois dans les 2 lignes suivant celle où sont les dates avec ce code:
Do ' je cherche la ligne créer avec les dates mais par son numero d'OF
e = e + 1
Loop Until Application.Cells(e, 1) = b
Application.Cells(e + 1, 5).Select ' je selectionne la cellule en dessous de la 1ere date
ActiveSheet.Paste ' je colle mon code article
Application.Cells(e + 2, 5).Select ' je selectionne la cellule en dessous de la 1ere copie
ActiveSheet.Paste ' je colle mon code article une 2° fois
maintenant je voudrai retourner sur la ligne de date, donc retrouver ma variable 'e', puis tourner sur cette ligne (horizontalement) et chaque fois que je trouve un samedi insérer deux cellules dans la deuxième ligne copiée, en decallant vers la droite.
Ma question est:
puis me repositionner sur la bonne ligne juste en rappelant 'e' ou dois je refaire ma boucle? ensuite je supose que je dois faire une boucle horizontale pour trouver le samedi et coller le code de décalage. . .mais je ne veux pas que la boucle s'arete sur le samedi car il y en a plusieurs. . . .
Voilà si quelqu'un pouvait me donner une piste ce serait sympa sachant que pour trouver les samedi j'utilise ça: If Weekday(.Value) = 1
Merci d'avance pour vos lumières . . ..
A voir également:
- EXCEL/MACRO décalage ligne sous condition
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Excel cellule couleur si condition texte - Guide
- Liste déroulante excel - Guide
- Partager photos en ligne - Guide
- Formule somme excel ligne - Guide
2 réponses
alors j'ai essayé ça mais sans résultat concluant:
Do ' je cherche la ligne créer avec les dates mais par son numero d'OF
e = e + 1
Loop Until Application.Cells(e, 1) = b
Application.Cells(e + 1, 5).Select ' je selectionne la cellule en dessous de la 1ere date
ActiveSheet.Paste ' je colle mon code article
Application.Cells(e + 2, 5).Select ' je selectionne la cellule en dessous de la 1ere copie
ActiveSheet.Paste ' je colle mon code article une 2° fois
Do ' je cherche la ligne créer avec les dates mais par son numero d'OF
e = e + 1
Loop Until Application.Cells(e, 1) = b
Do ' je boucle horizontalement jusqu'à la derniere case
f = f + 1
Loop Until applications.Cells(e, f) = Empty
If Weekday(.Value) = 1 Then ' quand je trouve un samedi
Application.Cells(e + 1, f).Select ' je selectionne la cellule en dessous
Selection.Insert Shift:=xlToRight ' et insere une cellule en decalant à droite
Selection.Insert Shift:=xlToRight ' et j'en insere une deuxieme
Else
End If
quand j'exécute ma macro voici le message que j'ai: "réference incorrecte ou non qualifiée" quand la macro s'arete sur (.value)
Donc je suis bloqué je vois pas d'où cela peut venir . .. ..
Do ' je cherche la ligne créer avec les dates mais par son numero d'OF
e = e + 1
Loop Until Application.Cells(e, 1) = b
Application.Cells(e + 1, 5).Select ' je selectionne la cellule en dessous de la 1ere date
ActiveSheet.Paste ' je colle mon code article
Application.Cells(e + 2, 5).Select ' je selectionne la cellule en dessous de la 1ere copie
ActiveSheet.Paste ' je colle mon code article une 2° fois
Do ' je cherche la ligne créer avec les dates mais par son numero d'OF
e = e + 1
Loop Until Application.Cells(e, 1) = b
Do ' je boucle horizontalement jusqu'à la derniere case
f = f + 1
Loop Until applications.Cells(e, f) = Empty
If Weekday(.Value) = 1 Then ' quand je trouve un samedi
Application.Cells(e + 1, f).Select ' je selectionne la cellule en dessous
Selection.Insert Shift:=xlToRight ' et insere une cellule en decalant à droite
Selection.Insert Shift:=xlToRight ' et j'en insere une deuxieme
Else
End If
quand j'exécute ma macro voici le message que j'ai: "réference incorrecte ou non qualifiée" quand la macro s'arete sur (.value)
Donc je suis bloqué je vois pas d'où cela peut venir . .. ..