Bonjour,
je voudrai faire une macro qui permettrai de copier les cellules de
A4 / A5 =E0 AA4 / AA5 vers les cellules d=E9marrant en AF4 / AF5
copie en avancant vers la droite. mais avec la r=E9gle suivante:
si la cellule de la ligne 5 contient un chiffre (exemple: 001, 002,
003 etc...) on copie les 2 cellules (exemple A4 & A5) vers AF4 & AF5
tel quelles. par contre, si la cellule de la ligne 5 contient une
plage de chiffres (exemple: 001-003 ou 001-007 etc...) (le d=E9but est
toujours 001) la copie vers la droite doit =EAtre =E9clat=E9 (c'est =E0 dir=
e
une colonne pour chaque chiffres 001, 002, 003 etc... jusqu'a la
limite finale.
exemple de ma base initiale:
DG CS RH CG (ligne 4)
002 001-006 001 001 (ligne 5)
je voudrai la copie suivante plus loin =E0 droite:
DG CS CS CS CS CS CS RH CG (ligne4)
002 001 002 003 004 005 006 001 001 (ligne5)
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
marchepied
On 7 jan, 16:00, wrote:
Bonjour, je voudrai faire une macro qui permettrai de copier les cellules de A4 / A5 à AA4 / AA5 vers les cellules démarrant en AF4 / AF5 copie en avancant vers la droite. mais avec la régle suivante: si la cellule de la ligne 5 contient un chiffre (exemple: 001, 002, 003 etc...) on copie les 2 cellules (exemple A4 & A5) vers AF4 & AF5 tel quelles. par contre, si la cellule de la ligne 5 contient une plage de chiffres (exemple: 001-003 ou 001-007 etc...) (le début est toujours 001) la copie vers la droite doit être éclaté (c'est à d ire une colonne pour chaque chiffres 001, 002, 003 etc... jusqu'a la limite finale. exemple de ma base initiale: DG CS RH CG (ligne 4) 002 001-006 001 001 (l igne 5)
je voudrai la copie suivante plus loin à droite: DG CS CS CS CS CS CS RH CG (ligne4) 002 001 002 003 004 005 006 001 001 (ligne5)
merci pour votre aide,
--------------------------------------------------------------------------- ------------------------------------------------------------ Bonjour, ignorez ma question précédente, et trouvez ci-dessous une question plus concise: j'aimerai modifier la macro ci-dessous, pour que, au lieu du 2eme "=" il y a "contient au moins" sachant que c.Offset(1, 0) contient "002" et Sheets(onglet(1)).Range ("G" & i) contient "001 002 003 007" je voudrai que dans ce cas, la commande en dessous du "then" s'exécute. (sachant que le 1er "=" est OK.
If c = Sheets(onglet(1)).Range("F" & i) And c.Offset(1, 0) = Sheets (onglet(1)).Range("G" & i) Then Sheets(onglet(1)).Range("M" & i) = c.Offset(-1, 0) End If
en espérant que cela soit plus clair, merci pour votre aide. Marchepied
On 7 jan, 16:00, marchep...@operamail.com wrote:
Bonjour,
je voudrai faire une macro qui permettrai de copier les cellules de
A4 / A5 à AA4 / AA5 vers les cellules démarrant en AF4 / AF5
copie en avancant vers la droite. mais avec la régle suivante:
si la cellule de la ligne 5 contient un chiffre (exemple: 001, 002,
003 etc...) on copie les 2 cellules (exemple A4 & A5) vers AF4 & AF5
tel quelles. par contre, si la cellule de la ligne 5 contient une
plage de chiffres (exemple: 001-003 ou 001-007 etc...) (le début est
toujours 001) la copie vers la droite doit être éclaté (c'est à d ire
une colonne pour chaque chiffres 001, 002, 003 etc... jusqu'a la
limite finale.
exemple de ma base initiale:
DG CS RH CG (ligne 4)
002 001-006 001 001 (l igne 5)
je voudrai la copie suivante plus loin à droite:
DG CS CS CS CS CS CS RH CG (ligne4)
002 001 002 003 004 005 006 001 001 (ligne5)
merci pour votre aide,
--------------------------------------------------------------------------- ------------------------------------------------------------
Bonjour,
ignorez ma question précédente, et trouvez ci-dessous une question
plus concise:
j'aimerai modifier la macro ci-dessous, pour que, au lieu du 2eme "="
il y a "contient au moins"
sachant que c.Offset(1, 0) contient "002" et Sheets(onglet(1)).Range
("G" & i) contient "001 002 003 007" je voudrai que dans ce cas, la
commande en dessous du "then" s'exécute. (sachant que le 1er "=" est
OK.
If c = Sheets(onglet(1)).Range("F" & i) And c.Offset(1, 0) = Sheets
(onglet(1)).Range("G" & i) Then
Sheets(onglet(1)).Range("M" & i) = c.Offset(-1, 0)
End If
en espérant que cela soit plus clair, merci pour votre aide.
Marchepied
Bonjour, je voudrai faire une macro qui permettrai de copier les cellules de A4 / A5 à AA4 / AA5 vers les cellules démarrant en AF4 / AF5 copie en avancant vers la droite. mais avec la régle suivante: si la cellule de la ligne 5 contient un chiffre (exemple: 001, 002, 003 etc...) on copie les 2 cellules (exemple A4 & A5) vers AF4 & AF5 tel quelles. par contre, si la cellule de la ligne 5 contient une plage de chiffres (exemple: 001-003 ou 001-007 etc...) (le début est toujours 001) la copie vers la droite doit être éclaté (c'est à d ire une colonne pour chaque chiffres 001, 002, 003 etc... jusqu'a la limite finale. exemple de ma base initiale: DG CS RH CG (ligne 4) 002 001-006 001 001 (l igne 5)
je voudrai la copie suivante plus loin à droite: DG CS CS CS CS CS CS RH CG (ligne4) 002 001 002 003 004 005 006 001 001 (ligne5)
merci pour votre aide,
--------------------------------------------------------------------------- ------------------------------------------------------------ Bonjour, ignorez ma question précédente, et trouvez ci-dessous une question plus concise: j'aimerai modifier la macro ci-dessous, pour que, au lieu du 2eme "=" il y a "contient au moins" sachant que c.Offset(1, 0) contient "002" et Sheets(onglet(1)).Range ("G" & i) contient "001 002 003 007" je voudrai que dans ce cas, la commande en dessous du "then" s'exécute. (sachant que le 1er "=" est OK.
If c = Sheets(onglet(1)).Range("F" & i) And c.Offset(1, 0) = Sheets (onglet(1)).Range("G" & i) Then Sheets(onglet(1)).Range("M" & i) = c.Offset(-1, 0) End If
en espérant que cela soit plus clair, merci pour votre aide. Marchepied
michdenis
En supposant que j'ai compris, essaie ceci :
'-------------------------- If c = Sheets(onglet(1)).Range("F" & i) And _ InStr(1, Sheets(onglet(1)).Range("G" & i), c.Offset(1, 0), vbTextCompare) <> 0 Then Sheets(onglet(1)).Range("M" & i) = c.Offset(-1, 0) End If '--------------------------
Attention aux lignes coupées par le service de messagerie !
a écrit dans le message de news:
On 7 jan, 16:00, wrote:
Bonjour, je voudrai faire une macro qui permettrai de copier les cellules de A4 / A5 à AA4 / AA5 vers les cellules démarrant en AF4 / AF5 copie en avancant vers la droite. mais avec la régle suivante: si la cellule de la ligne 5 contient un chiffre (exemple: 001, 002, 003 etc...) on copie les 2 cellules (exemple A4 & A5) vers AF4 & AF5 tel quelles. par contre, si la cellule de la ligne 5 contient une plage de chiffres (exemple: 001-003 ou 001-007 etc...) (le début est toujours 001) la copie vers la droite doit être éclaté (c'est à dire une colonne pour chaque chiffres 001, 002, 003 etc... jusqu'a la limite finale. exemple de ma base initiale: DG CS RH CG (ligne 4) 002 001-006 001 001 (ligne 5)
je voudrai la copie suivante plus loin à droite: DG CS CS CS CS CS CS RH CG (ligne4) 002 001 002 003 004 005 006 001 001 (ligne5)
merci pour votre aide,
--------------------------------------------------------------------------------------------------------------------------------------- Bonjour, ignorez ma question précédente, et trouvez ci-dessous une question plus concise: j'aimerai modifier la macro ci-dessous, pour que, au lieu du 2eme "=" il y a "contient au moins" sachant que c.Offset(1, 0) contient "002" et Sheets(onglet(1)).Range ("G" & i) contient "001 002 003 007" je voudrai que dans ce cas, la commande en dessous du "then" s'exécute. (sachant que le 1er "=" est OK.
If c = Sheets(onglet(1)).Range("F" & i) And c.Offset(1, 0) = Sheets (onglet(1)).Range("G" & i) Then Sheets(onglet(1)).Range("M" & i) = c.Offset(-1, 0) End If
en espérant que cela soit plus clair, merci pour votre aide. Marchepied
En supposant que j'ai compris, essaie ceci :
'--------------------------
If c = Sheets(onglet(1)).Range("F" & i) And _
InStr(1, Sheets(onglet(1)).Range("G" & i), c.Offset(1, 0),
vbTextCompare) <> 0 Then
Sheets(onglet(1)).Range("M" & i) = c.Offset(-1, 0)
End If
'--------------------------
Attention aux lignes coupées par le service de messagerie !
<marchepied@operamail.com> a écrit dans le message de news:
951f2383-ebaf-4f94-8a53-51c4fe898c49@r41g2000prr.googlegroups.com...
On 7 jan, 16:00, marchep...@operamail.com wrote:
Bonjour,
je voudrai faire une macro qui permettrai de copier les cellules de
A4 / A5 à AA4 / AA5 vers les cellules démarrant en AF4 / AF5
copie en avancant vers la droite. mais avec la régle suivante:
si la cellule de la ligne 5 contient un chiffre (exemple: 001, 002,
003 etc...) on copie les 2 cellules (exemple A4 & A5) vers AF4 & AF5
tel quelles. par contre, si la cellule de la ligne 5 contient une
plage de chiffres (exemple: 001-003 ou 001-007 etc...) (le début est
toujours 001) la copie vers la droite doit être éclaté (c'est à dire
une colonne pour chaque chiffres 001, 002, 003 etc... jusqu'a la
limite finale.
exemple de ma base initiale:
DG CS RH CG (ligne 4)
002 001-006 001 001 (ligne 5)
je voudrai la copie suivante plus loin à droite:
DG CS CS CS CS CS CS RH CG (ligne4)
002 001 002 003 004 005 006 001 001 (ligne5)
merci pour votre aide,
---------------------------------------------------------------------------------------------------------------------------------------
Bonjour,
ignorez ma question précédente, et trouvez ci-dessous une question
plus concise:
j'aimerai modifier la macro ci-dessous, pour que, au lieu du 2eme "="
il y a "contient au moins"
sachant que c.Offset(1, 0) contient "002" et Sheets(onglet(1)).Range
("G" & i) contient "001 002 003 007" je voudrai que dans ce cas, la
commande en dessous du "then" s'exécute. (sachant que le 1er "=" est
OK.
If c = Sheets(onglet(1)).Range("F" & i) And c.Offset(1, 0) = Sheets
(onglet(1)).Range("G" & i) Then
Sheets(onglet(1)).Range("M" & i) = c.Offset(-1, 0)
End If
en espérant que cela soit plus clair, merci pour votre aide.
Marchepied
'-------------------------- If c = Sheets(onglet(1)).Range("F" & i) And _ InStr(1, Sheets(onglet(1)).Range("G" & i), c.Offset(1, 0), vbTextCompare) <> 0 Then Sheets(onglet(1)).Range("M" & i) = c.Offset(-1, 0) End If '--------------------------
Attention aux lignes coupées par le service de messagerie !
a écrit dans le message de news:
On 7 jan, 16:00, wrote:
Bonjour, je voudrai faire une macro qui permettrai de copier les cellules de A4 / A5 à AA4 / AA5 vers les cellules démarrant en AF4 / AF5 copie en avancant vers la droite. mais avec la régle suivante: si la cellule de la ligne 5 contient un chiffre (exemple: 001, 002, 003 etc...) on copie les 2 cellules (exemple A4 & A5) vers AF4 & AF5 tel quelles. par contre, si la cellule de la ligne 5 contient une plage de chiffres (exemple: 001-003 ou 001-007 etc...) (le début est toujours 001) la copie vers la droite doit être éclaté (c'est à dire une colonne pour chaque chiffres 001, 002, 003 etc... jusqu'a la limite finale. exemple de ma base initiale: DG CS RH CG (ligne 4) 002 001-006 001 001 (ligne 5)
je voudrai la copie suivante plus loin à droite: DG CS CS CS CS CS CS RH CG (ligne4) 002 001 002 003 004 005 006 001 001 (ligne5)
merci pour votre aide,
--------------------------------------------------------------------------------------------------------------------------------------- Bonjour, ignorez ma question précédente, et trouvez ci-dessous une question plus concise: j'aimerai modifier la macro ci-dessous, pour que, au lieu du 2eme "=" il y a "contient au moins" sachant que c.Offset(1, 0) contient "002" et Sheets(onglet(1)).Range ("G" & i) contient "001 002 003 007" je voudrai que dans ce cas, la commande en dessous du "then" s'exécute. (sachant que le 1er "=" est OK.
If c = Sheets(onglet(1)).Range("F" & i) And c.Offset(1, 0) = Sheets (onglet(1)).Range("G" & i) Then Sheets(onglet(1)).Range("M" & i) = c.Offset(-1, 0) End If
en espérant que cela soit plus clair, merci pour votre aide. Marchepied
marchepied
On 8 jan, 15:38, "michdenis" wrote:
En supposant que j'ai compris, essaie ceci :
'-------------------------- If c = Sheets(onglet(1)).Range("F" & i) And _ InStr(1, Sheets(onglet(1)).Range("G" & i), c.Offset(1, 0), vbTextCompare) <> 0 Then Sheets(onglet(1)).Range("M" & i) = c.Offset(-1, 0) End If '--------------------------
Attention aux lignes coupées par le service de messagerie !
a écrit dans le message de news:
On 7 jan, 16:00, wrote:
> Bonjour, > je voudrai faire une macro qui permettrai de copier les cellules de > A4 / A5 à AA4 / AA5 vers les cellules démarrant en AF4 / AF5 > copie en avancant vers la droite. mais avec la régle suivante: > si la cellule de la ligne 5 contient un chiffre (exemple: 001, 002, > 003 etc...) on copie les 2 cellules (exemple A4 & A5) vers AF4 & AF5 > tel quelles. par contre, si la cellule de la ligne 5 contient une > plage de chiffres (exemple: 001-003 ou 001-007 etc...) (le début est > toujours 001) la copie vers la droite doit être éclaté (c'est à dire > une colonne pour chaque chiffres 001, 002, 003 etc... jusqu'a la > limite finale. > exemple de ma base initiale: > DG CS RH CG (ligne 4) > 002 001-006 001 001 (ligne 5)
> je voudrai la copie suivante plus loin à droite: > DG CS CS CS CS CS CS RH CG (ligne4) > 002 001 002 003 004 005 006 001 001 (ligne5)
> merci pour votre aide,
------------------------------------------------------------------------- -------------------------------------------------------------- Bonjour, ignorez ma question précédente, et trouvez ci-dessous une question plus concise: j'aimerai modifier la macro ci-dessous, pour que, au lieu du 2eme "=" il y a "contient au moins" sachant que c.Offset(1, 0) contient "002" et Sheets(onglet(1)).Range ("G" & i) contient "001 002 003 007" je voudrai que dans ce cas, la commande en dessous du "then" s'exécute. (sachant que le 1er "=" est OK.
If c = Sheets(onglet(1)).Range("F" & i) And c.Offset(1, 0) = Sheet s (onglet(1)).Range("G" & i) Then Sheets(onglet(1)).Range("M" & i) = c.Offset(-1, 0) End If
en espérant que cela soit plus clair, merci pour votre aide.Marchepied- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
--------------------------------------------------------------------------- -------------------------------------------------------------- c'est exactement ça, et ça marche merci
On 8 jan, 15:38, "michdenis" <michde...@hotmail.com> wrote:
En supposant que j'ai compris, essaie ceci :
'--------------------------
If c = Sheets(onglet(1)).Range("F" & i) And _
InStr(1, Sheets(onglet(1)).Range("G" & i), c.Offset(1, 0),
vbTextCompare) <> 0 Then
Sheets(onglet(1)).Range("M" & i) = c.Offset(-1, 0)
End If
'--------------------------
Attention aux lignes coupées par le service de messagerie !
<marchep...@operamail.com> a écrit dans le message de news:
951f2383-ebaf-4f94-8a53-51c4fe898...@r41g2000prr.googlegroups.com...
On 7 jan, 16:00, marchep...@operamail.com wrote:
> Bonjour,
> je voudrai faire une macro qui permettrai de copier les cellules de
> A4 / A5 à AA4 / AA5 vers les cellules démarrant en AF4 / AF5
> copie en avancant vers la droite. mais avec la régle suivante:
> si la cellule de la ligne 5 contient un chiffre (exemple: 001, 002,
> 003 etc...) on copie les 2 cellules (exemple A4 & A5) vers AF4 & AF5
> tel quelles. par contre, si la cellule de la ligne 5 contient une
> plage de chiffres (exemple: 001-003 ou 001-007 etc...) (le début est
> toujours 001) la copie vers la droite doit être éclaté (c'est à dire
> une colonne pour chaque chiffres 001, 002, 003 etc... jusqu'a la
> limite finale.
> exemple de ma base initiale:
> DG CS RH CG (ligne 4)
> 002 001-006 001 001 (ligne 5)
> je voudrai la copie suivante plus loin à droite:
> DG CS CS CS CS CS CS RH CG (ligne4)
> 002 001 002 003 004 005 006 001 001 (ligne5)
> merci pour votre aide,
------------------------------------------------------------------------- --------------------------------------------------------------
Bonjour,
ignorez ma question précédente, et trouvez ci-dessous une question
plus concise:
j'aimerai modifier la macro ci-dessous, pour que, au lieu du 2eme "="
il y a "contient au moins"
sachant que c.Offset(1, 0) contient "002" et Sheets(onglet(1)).Range
("G" & i) contient "001 002 003 007" je voudrai que dans ce cas, la
commande en dessous du "then" s'exécute. (sachant que le 1er "=" est
OK.
If c = Sheets(onglet(1)).Range("F" & i) And c.Offset(1, 0) = Sheet s
(onglet(1)).Range("G" & i) Then
Sheets(onglet(1)).Range("M" & i) = c.Offset(-1, 0)
End If
en espérant que cela soit plus clair, merci pour votre aide.Marchepied- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
--------------------------------------------------------------------------- --------------------------------------------------------------
c'est exactement ça, et ça marche
merci
'-------------------------- If c = Sheets(onglet(1)).Range("F" & i) And _ InStr(1, Sheets(onglet(1)).Range("G" & i), c.Offset(1, 0), vbTextCompare) <> 0 Then Sheets(onglet(1)).Range("M" & i) = c.Offset(-1, 0) End If '--------------------------
Attention aux lignes coupées par le service de messagerie !
a écrit dans le message de news:
On 7 jan, 16:00, wrote:
> Bonjour, > je voudrai faire une macro qui permettrai de copier les cellules de > A4 / A5 à AA4 / AA5 vers les cellules démarrant en AF4 / AF5 > copie en avancant vers la droite. mais avec la régle suivante: > si la cellule de la ligne 5 contient un chiffre (exemple: 001, 002, > 003 etc...) on copie les 2 cellules (exemple A4 & A5) vers AF4 & AF5 > tel quelles. par contre, si la cellule de la ligne 5 contient une > plage de chiffres (exemple: 001-003 ou 001-007 etc...) (le début est > toujours 001) la copie vers la droite doit être éclaté (c'est à dire > une colonne pour chaque chiffres 001, 002, 003 etc... jusqu'a la > limite finale. > exemple de ma base initiale: > DG CS RH CG (ligne 4) > 002 001-006 001 001 (ligne 5)
> je voudrai la copie suivante plus loin à droite: > DG CS CS CS CS CS CS RH CG (ligne4) > 002 001 002 003 004 005 006 001 001 (ligne5)
> merci pour votre aide,
------------------------------------------------------------------------- -------------------------------------------------------------- Bonjour, ignorez ma question précédente, et trouvez ci-dessous une question plus concise: j'aimerai modifier la macro ci-dessous, pour que, au lieu du 2eme "=" il y a "contient au moins" sachant que c.Offset(1, 0) contient "002" et Sheets(onglet(1)).Range ("G" & i) contient "001 002 003 007" je voudrai que dans ce cas, la commande en dessous du "then" s'exécute. (sachant que le 1er "=" est OK.
If c = Sheets(onglet(1)).Range("F" & i) And c.Offset(1, 0) = Sheet s (onglet(1)).Range("G" & i) Then Sheets(onglet(1)).Range("M" & i) = c.Offset(-1, 0) End If
en espérant que cela soit plus clair, merci pour votre aide.Marchepied- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
--------------------------------------------------------------------------- -------------------------------------------------------------- c'est exactement ça, et ça marche merci