Code VBA pour inserer 4 lignes sous une condi
lazvb
Messages postés
4
Statut
Membre
-
lazvb Messages postés 4 Statut Membre -
lazvb Messages postés 4 Statut Membre -
Bonjour
j'essaye de trouver le code sous VB pour une macro si une cellule contient 5BU qui se trouve dans la colonne f, et qui me permet:
* d'insérer en dessous 4 lignes,
* de remplacer dans la colonne f, la premiére cellule 5BU par 1 puis sur les lignes insérées tjrs dans la col f 2 3 4 5;
* Et dans la colonne c, il y a un montant correspondant à la cellule 5BU que je souhaite répartir sur les lignes insérées à raison de 25% pour 1 2 3
et 12,5% pour 4 et 5.
* et enfin dans la colonne k copier la cellule correspondant à 5BU dans les 4 cellules insérées en dessous
voila un petit shema de ma feuille:
colonne C Colonne F Colonne K
1000 5BU JE VOUS REMERCIE
RESULTAT ESPERE
colonne C Colonne F Colonne K
250 1 JE VOUS REMERCIE
250 2 JE VOUS REMERCIE
250 3 JE VOUS REMERCIE
125 4 JE VOUS REMERCIE
125 5 JE VOUS REMERCIE
JE VOUS REMERCIE PAR AVANCE, car ca m'aiderai bcp dans ma feuille qui m'eviterai un travail manuelle.
j'essaye de trouver le code sous VB pour une macro si une cellule contient 5BU qui se trouve dans la colonne f, et qui me permet:
* d'insérer en dessous 4 lignes,
* de remplacer dans la colonne f, la premiére cellule 5BU par 1 puis sur les lignes insérées tjrs dans la col f 2 3 4 5;
* Et dans la colonne c, il y a un montant correspondant à la cellule 5BU que je souhaite répartir sur les lignes insérées à raison de 25% pour 1 2 3
et 12,5% pour 4 et 5.
* et enfin dans la colonne k copier la cellule correspondant à 5BU dans les 4 cellules insérées en dessous
voila un petit shema de ma feuille:
colonne C Colonne F Colonne K
1000 5BU JE VOUS REMERCIE
RESULTAT ESPERE
colonne C Colonne F Colonne K
250 1 JE VOUS REMERCIE
250 2 JE VOUS REMERCIE
250 3 JE VOUS REMERCIE
125 4 JE VOUS REMERCIE
125 5 JE VOUS REMERCIE
JE VOUS REMERCIE PAR AVANCE, car ca m'aiderai bcp dans ma feuille qui m'eviterai un travail manuelle.
A voir également:
- Code VBA pour inserer 4 lignes sous une condi
- Code ascii - Guide
- Code gta 4 ps4 - Guide
- Insérer une vidéo dans powerpoint - Guide
- Insérer signature word - Guide
- Code puk bloqué - Guide
4 réponses
Bonjour,
sub inerserlignes ()
sheets("feuilleoutuveuxagor").select 'remplaces feuilleoutuveuxagir par ton nom de feuille
i = 1 'va commencer la recherche en 1ère ligne de la colonne F
do while cells(i,6) <> "" ' va rechercher à la ligne i dans la colonne F. Attention, il ne doit pas y avoir de trou dans ta colonne. Si tel est le cas remplace 6 par le chiffre d'une colonne qui est toujours remplie
if cells(i,6) = "5BU"
rows(i).copy
range(rows(i+1),rows(i+4)).select
Selection.Insert Shift:=xlDown
cells(i,6) = 1
cells(i+1,6) = 2
cells(i+2,6) = 3
cells(i+3,6) = 4
cells(i+4,6) = 5
range(cells(i,3),cells(i+2,3)) = "25%"
range(cells(i+3,3),cells(i+4,3)) = "12,5%"
i=i+4
end if
i=i+1
loop
end sub
sub inerserlignes ()
sheets("feuilleoutuveuxagor").select 'remplaces feuilleoutuveuxagir par ton nom de feuille
i = 1 'va commencer la recherche en 1ère ligne de la colonne F
do while cells(i,6) <> "" ' va rechercher à la ligne i dans la colonne F. Attention, il ne doit pas y avoir de trou dans ta colonne. Si tel est le cas remplace 6 par le chiffre d'une colonne qui est toujours remplie
if cells(i,6) = "5BU"
rows(i).copy
range(rows(i+1),rows(i+4)).select
Selection.Insert Shift:=xlDown
cells(i,6) = 1
cells(i+1,6) = 2
cells(i+2,6) = 3
cells(i+3,6) = 4
cells(i+4,6) = 5
range(cells(i,3),cells(i+2,3)) = "25%"
range(cells(i+3,3),cells(i+4,3)) = "12,5%"
i=i+4
end if
i=i+1
loop
end sub
Bonjour Mélanie 1324
Je te remercie pour ta réponse
effectivement dans la colonne f il y a des trou, et je l'ai remplacé par la col M, et j'ai remplacé ds le code le 6 par 13, (nom de ma feuille est Trait Integ )
mais il me sort erreur de syntaxe, STP si tu peux jeter un coup d'oeil
Sub inerserlignes() ici selectionner en jaune
Sheets("Trait Integ").Select 'remplaces feuilleoutuveuxagir par ton nom de feuille
i = 1 'va commencer la recherche en 1ère ligne de la colonne F
Do While Cells(i, 13) <> "" ' va rechercher à la ligne i dans la colonne M. Attention, il ne doit pas y avoir de trou dans ta colonne. Si tel est le cas remplace 6 par le chiffre d'une colonne qui est toujours remplie
if cells(i,13) = "5BU" ici la couleur de la police en rouge
Rows(i).Copy
Range(Rows(i + 1), Rows(i + 4)).Select
Selection.Insert Shift:=xlDown
Cells(i, 13) = 1
Cells(i + 1, 13) = 2
Cells(i + 2, 13) = 3
Cells(i + 3, 13) = 4
Cells(i + 4, 13) = 5
Range(Cells(i, 3), Cells(i + 2, 3)) = "25%"
Range(Cells(i + 3, 3), Cells(i + 4, 3)) = "12,5%"
i = i + 4
End If
i = i + 1
Loop
End Sub
je te remercie
Je te remercie pour ta réponse
effectivement dans la colonne f il y a des trou, et je l'ai remplacé par la col M, et j'ai remplacé ds le code le 6 par 13, (nom de ma feuille est Trait Integ )
mais il me sort erreur de syntaxe, STP si tu peux jeter un coup d'oeil
Sub inerserlignes() ici selectionner en jaune
Sheets("Trait Integ").Select 'remplaces feuilleoutuveuxagir par ton nom de feuille
i = 1 'va commencer la recherche en 1ère ligne de la colonne F
Do While Cells(i, 13) <> "" ' va rechercher à la ligne i dans la colonne M. Attention, il ne doit pas y avoir de trou dans ta colonne. Si tel est le cas remplace 6 par le chiffre d'une colonne qui est toujours remplie
if cells(i,13) = "5BU" ici la couleur de la police en rouge
Rows(i).Copy
Range(Rows(i + 1), Rows(i + 4)).Select
Selection.Insert Shift:=xlDown
Cells(i, 13) = 1
Cells(i + 1, 13) = 2
Cells(i + 2, 13) = 3
Cells(i + 3, 13) = 4
Cells(i + 4, 13) = 5
Range(Cells(i, 3), Cells(i + 2, 3)) = "25%"
Range(Cells(i + 3, 3), Cells(i + 4, 3)) = "12,5%"
i = i + 4
End If
i = i + 1
Loop
End Sub
je te remercie
Sub inerserlignes() ici selectionner en jaune
Sheets("Trait Integ").Select 'remplaces feuilleoutuveuxagir par ton nom de feuille
i = 1 'va commencer la recherche en 1ère ligne de la colonne F
Do While Cells(i, 13) <> "" ' va rechercher à la ligne i dans la colonne M. Attention, il ne doit pas y avoir de trou dans ta colonne. Si tel est le cas remplace 6 par le chiffre d'une colonne qui est toujours remplie
if cells(i,13) = "5BU" then 'ici la couleur de la police en rouge
Rows(i).Copy
Range(Rows(i + 1), Rows(i + 4)).Select
Selection.Insert Shift:=xlDown
Cells(i, 13) = 1
Cells(i + 1, 13) = 2
Cells(i + 2, 13) = 3
Cells(i + 3, 13) = 4
Cells(i + 4, 13) = 5
Range(Cells(i, 3), Cells(i + 2, 3)) = "25%"
Range(Cells(i + 3, 3), Cells(i + 4, 3)) = "12,5%"
i = i + 4
End If
i = i + 1
Loop
End Sub
Sheets("Trait Integ").Select 'remplaces feuilleoutuveuxagir par ton nom de feuille
i = 1 'va commencer la recherche en 1ère ligne de la colonne F
Do While Cells(i, 13) <> "" ' va rechercher à la ligne i dans la colonne M. Attention, il ne doit pas y avoir de trou dans ta colonne. Si tel est le cas remplace 6 par le chiffre d'une colonne qui est toujours remplie
if cells(i,13) = "5BU" then 'ici la couleur de la police en rouge
Rows(i).Copy
Range(Rows(i + 1), Rows(i + 4)).Select
Selection.Insert Shift:=xlDown
Cells(i, 13) = 1
Cells(i + 1, 13) = 2
Cells(i + 2, 13) = 3
Cells(i + 3, 13) = 4
Cells(i + 4, 13) = 5
Range(Cells(i, 3), Cells(i + 2, 3)) = "25%"
Range(Cells(i + 3, 3), Cells(i + 4, 3)) = "12,5%"
i = i + 4
End If
i = i + 1
Loop
End Sub