Voici la question que j'ai posée vendredi dernier.... Dans la macro qui suit,
Excel ne me donne que le résultat devant apparaitre dans la dernière cellule
dans toutes les cellules !!!
Voici la macro qui a pour but de convertir des dates format texte en format
date:
Sub conversion()
Dim plg As Range, Cell As Range
Dim NomFeuille As String
Ligne = Range("M65536").End(xlUp).Row
NomFeuille = "sheet1"
With Worksheets("sheet1")
Set plg = .Range("M2:M" & .Range("M65536").End(xlUp).Row)
End With
For Each Cell In plg
Cell.Offset(, 5).FormulaArray = "=DATE(LEFT($M" & Ligne &
",4),RIGHT(LEFT($M" & Ligne & ",6),2),RIGHT($M" & Ligne & ",2))"
Next Cell
End Sub
Le résultat affiché dans toutes les cellules est le suivant:
=DATE(LEFT($M328,4),RIGHT(LEFT($M328,6),2),RIGHT($M328,2))
328 étant la dernière ligne. En fait ce que je veux, c'est qu'Excel écrive
$M5 à la ligne 5, $M6 à la ligne 6, etc....
Voyez-vous ou j'ai erré??
Philippe m'a gentiment proposé ce qui suit, mais malheureusement Excel ne
veut pas me donner un autre résultat que le précédent, sauf que cette fois-ci
on dirait qu'Excel inscrit la formule dans la cellule 2 autant de fois qu'il
y a de lignes dans la plage, et que finalement la formule inscrite est celle
devant se retrouver à la ligne 328 (la dernière de la plage):
For lg = 2 To ligne
Cell.Offset(, 5).FormulaArray = "=DATE(LEFT($M" & lg & _
",4),RIGHT(LEFT($M" & lg & ",6),2),RIGHT($M" & lg & ",2))"
lg = lg + 1
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
Daniel
Bonjour. Waaa ! un accord du participe passé du verbe avoir correctement orthographié ! trop classe. Sinon, je ne comprends rien à ton problème. Cordialement. Daniel "Denys" a écrit dans le message de news:
Bonjour à tous,
Voici la question que j'ai posée vendredi dernier.... Dans la macro qui suit, Excel ne me donne que le résultat devant apparaitre dans la dernière cellule dans toutes les cellules !!!
Voici la macro qui a pour but de convertir des dates format texte en format date:
Sub conversion()
Dim plg As Range, Cell As Range Dim NomFeuille As String
Ligne = Range("M65536").End(xlUp).Row
NomFeuille = "sheet1"
With Worksheets("sheet1") Set plg = .Range("M2:M" & .Range("M65536").End(xlUp).Row) End With
For Each Cell In plg Cell.Offset(, 5).FormulaArray = "ÚTE(LEFT($M" & Ligne & ",4),RIGHT(LEFT($M" & Ligne & ",6),2),RIGHT($M" & Ligne & ",2))" Next Cell End Sub
Le résultat affiché dans toutes les cellules est le suivant: ÚTE(LEFT($M328,4),RIGHT(LEFT($M328,6),2),RIGHT($M328,2))
328 étant la dernière ligne. En fait ce que je veux, c'est qu'Excel écrive $M5 à la ligne 5, $M6 à la ligne 6, etc....
Voyez-vous ou j'ai erré??
Philippe m'a gentiment proposé ce qui suit, mais malheureusement Excel ne veut pas me donner un autre résultat que le précédent, sauf que cette fois-ci on dirait qu'Excel inscrit la formule dans la cellule 2 autant de fois qu'il y a de lignes dans la plage, et que finalement la formule inscrite est celle devant se retrouver à la ligne 328 (la dernière de la plage):
For lg = 2 To ligne Cell.Offset(, 5).FormulaArray = "ÚTE(LEFT($M" & lg & _ ",4),RIGHT(LEFT($M" & lg & ",6),2),RIGHT($M" & lg & ",2))" lg = lg + 1
Quelqu'un pourrait m'aider à me démêler?
Merci
Denys
Bonjour.
Waaa ! un accord du participe passé du verbe avoir correctement orthographié
! trop classe.
Sinon, je ne comprends rien à ton problème.
Cordialement.
Daniel
"Denys" <Denys@discussions.microsoft.com> a écrit dans le message de news:
2C1AC167-7A2F-4B21-BD57-B080715480BC@microsoft.com...
Bonjour à tous,
Voici la question que j'ai posée vendredi dernier.... Dans la macro qui
suit,
Excel ne me donne que le résultat devant apparaitre dans la dernière
cellule
dans toutes les cellules !!!
Voici la macro qui a pour but de convertir des dates format texte en
format
date:
Sub conversion()
Dim plg As Range, Cell As Range
Dim NomFeuille As String
Ligne = Range("M65536").End(xlUp).Row
NomFeuille = "sheet1"
With Worksheets("sheet1")
Set plg = .Range("M2:M" & .Range("M65536").End(xlUp).Row)
End With
For Each Cell In plg
Cell.Offset(, 5).FormulaArray = "ÚTE(LEFT($M" & Ligne &
",4),RIGHT(LEFT($M" & Ligne & ",6),2),RIGHT($M" & Ligne & ",2))"
Next Cell
End Sub
Le résultat affiché dans toutes les cellules est le suivant:
ÚTE(LEFT($M328,4),RIGHT(LEFT($M328,6),2),RIGHT($M328,2))
328 étant la dernière ligne. En fait ce que je veux, c'est qu'Excel écrive
$M5 à la ligne 5, $M6 à la ligne 6, etc....
Voyez-vous ou j'ai erré??
Philippe m'a gentiment proposé ce qui suit, mais malheureusement Excel ne
veut pas me donner un autre résultat que le précédent, sauf que cette
fois-ci
on dirait qu'Excel inscrit la formule dans la cellule 2 autant de fois
qu'il
y a de lignes dans la plage, et que finalement la formule inscrite est
celle
devant se retrouver à la ligne 328 (la dernière de la plage):
For lg = 2 To ligne
Cell.Offset(, 5).FormulaArray = "ÚTE(LEFT($M" & lg & _
",4),RIGHT(LEFT($M" & lg & ",6),2),RIGHT($M" & lg & ",2))"
lg = lg + 1
Bonjour. Waaa ! un accord du participe passé du verbe avoir correctement orthographié ! trop classe. Sinon, je ne comprends rien à ton problème. Cordialement. Daniel "Denys" a écrit dans le message de news:
Bonjour à tous,
Voici la question que j'ai posée vendredi dernier.... Dans la macro qui suit, Excel ne me donne que le résultat devant apparaitre dans la dernière cellule dans toutes les cellules !!!
Voici la macro qui a pour but de convertir des dates format texte en format date:
Sub conversion()
Dim plg As Range, Cell As Range Dim NomFeuille As String
Ligne = Range("M65536").End(xlUp).Row
NomFeuille = "sheet1"
With Worksheets("sheet1") Set plg = .Range("M2:M" & .Range("M65536").End(xlUp).Row) End With
For Each Cell In plg Cell.Offset(, 5).FormulaArray = "ÚTE(LEFT($M" & Ligne & ",4),RIGHT(LEFT($M" & Ligne & ",6),2),RIGHT($M" & Ligne & ",2))" Next Cell End Sub
Le résultat affiché dans toutes les cellules est le suivant: ÚTE(LEFT($M328,4),RIGHT(LEFT($M328,6),2),RIGHT($M328,2))
328 étant la dernière ligne. En fait ce que je veux, c'est qu'Excel écrive $M5 à la ligne 5, $M6 à la ligne 6, etc....
Voyez-vous ou j'ai erré??
Philippe m'a gentiment proposé ce qui suit, mais malheureusement Excel ne veut pas me donner un autre résultat que le précédent, sauf que cette fois-ci on dirait qu'Excel inscrit la formule dans la cellule 2 autant de fois qu'il y a de lignes dans la plage, et que finalement la formule inscrite est celle devant se retrouver à la ligne 328 (la dernière de la plage):
For lg = 2 To ligne Cell.Offset(, 5).FormulaArray = "ÚTE(LEFT($M" & lg & _ ",4),RIGHT(LEFT($M" & lg & ",6),2),RIGHT($M" & lg & ",2))" lg = lg + 1
Quelqu'un pourrait m'aider à me démêler?
Merci
Denys
Vincnet.
Bonjour Denys, Essaie ça (ça remplace tout ton code) : ThisWorkbook.Worksheets("Sheet1").Range("R2:R" & .Range("M65536").End(xlUp).Row).FormulaR1C1 = "ÚTE(LEFT(RC[-5],4),RIGHT(LEFT(LC[-5],6),2),RIGHT(RC[-5],2))"
-- A+
V.
Bonjour à tous,
Voici la question que j'ai posée vendredi dernier.... Dans la macro qui suit, Excel ne me donne que le résultat devant apparaitre dans la dernière cellule dans toutes les cellules !!!
Voici la macro qui a pour but de convertir des dates format texte en format date:
Sub conversion()
Dim plg As Range, Cell As Range Dim NomFeuille As String
Ligne = Range("M65536").End(xlUp).Row
NomFeuille = "sheet1"
With Worksheets("sheet1") Set plg = .Range("M2:M" & .Range("M65536").End(xlUp).Row) End With
For Each Cell In plg Cell.Offset(, 5).FormulaArray = "ÚTE(LEFT($M" & Ligne & ",4),RIGHT(LEFT($M" & Ligne & ",6),2),RIGHT($M" & Ligne & ",2))" Next Cell End Sub
Le résultat affiché dans toutes les cellules est le suivant: ÚTE(LEFT($M328,4),RIGHT(LEFT($M328,6),2),RIGHT($M328,2))
328 étant la dernière ligne. En fait ce que je veux, c'est qu'Excel écrive $M5 à la ligne 5, $M6 à la ligne 6, etc....
Voyez-vous ou j'ai erré??
Philippe m'a gentiment proposé ce qui suit, mais malheureusement Excel ne veut pas me donner un autre résultat que le précédent, sauf que cette fois-ci on dirait qu'Excel inscrit la formule dans la cellule 2 autant de fois qu'il y a de lignes dans la plage, et que finalement la formule inscrite est celle devant se retrouver à la ligne 328 (la dernière de la plage):
For lg = 2 To ligne Cell.Offset(, 5).FormulaArray = "ÚTE(LEFT($M" & lg & _ ",4),RIGHT(LEFT($M" & lg & ",6),2),RIGHT($M" & lg & ",2))" lg = lg + 1
Quelqu'un pourrait m'aider à me démêler?
Merci
Denys
Bonjour Denys,
Essaie ça (ça remplace tout ton code) :
ThisWorkbook.Worksheets("Sheet1").Range("R2:R" &
.Range("M65536").End(xlUp).Row).FormulaR1C1 =
"ÚTE(LEFT(RC[-5],4),RIGHT(LEFT(LC[-5],6),2),RIGHT(RC[-5],2))"
--
A+
V.
Bonjour à tous,
Voici la question que j'ai posée vendredi dernier.... Dans la macro qui suit,
Excel ne me donne que le résultat devant apparaitre dans la dernière cellule
dans toutes les cellules !!!
Voici la macro qui a pour but de convertir des dates format texte en format
date:
Sub conversion()
Dim plg As Range, Cell As Range
Dim NomFeuille As String
Ligne = Range("M65536").End(xlUp).Row
NomFeuille = "sheet1"
With Worksheets("sheet1")
Set plg = .Range("M2:M" & .Range("M65536").End(xlUp).Row)
End With
For Each Cell In plg
Cell.Offset(, 5).FormulaArray = "ÚTE(LEFT($M" & Ligne &
",4),RIGHT(LEFT($M" & Ligne & ",6),2),RIGHT($M" & Ligne & ",2))"
Next Cell
End Sub
Le résultat affiché dans toutes les cellules est le suivant:
ÚTE(LEFT($M328,4),RIGHT(LEFT($M328,6),2),RIGHT($M328,2))
328 étant la dernière ligne. En fait ce que je veux, c'est qu'Excel écrive
$M5 à la ligne 5, $M6 à la ligne 6, etc....
Voyez-vous ou j'ai erré??
Philippe m'a gentiment proposé ce qui suit, mais malheureusement Excel ne
veut pas me donner un autre résultat que le précédent, sauf que cette fois-ci
on dirait qu'Excel inscrit la formule dans la cellule 2 autant de fois qu'il
y a de lignes dans la plage, et que finalement la formule inscrite est celle
devant se retrouver à la ligne 328 (la dernière de la plage):
For lg = 2 To ligne
Cell.Offset(, 5).FormulaArray = "ÚTE(LEFT($M" & lg & _
",4),RIGHT(LEFT($M" & lg & ",6),2),RIGHT($M" & lg & ",2))"
lg = lg + 1
Bonjour Denys, Essaie ça (ça remplace tout ton code) : ThisWorkbook.Worksheets("Sheet1").Range("R2:R" & .Range("M65536").End(xlUp).Row).FormulaR1C1 = "ÚTE(LEFT(RC[-5],4),RIGHT(LEFT(LC[-5],6),2),RIGHT(RC[-5],2))"
-- A+
V.
Bonjour à tous,
Voici la question que j'ai posée vendredi dernier.... Dans la macro qui suit, Excel ne me donne que le résultat devant apparaitre dans la dernière cellule dans toutes les cellules !!!
Voici la macro qui a pour but de convertir des dates format texte en format date:
Sub conversion()
Dim plg As Range, Cell As Range Dim NomFeuille As String
Ligne = Range("M65536").End(xlUp).Row
NomFeuille = "sheet1"
With Worksheets("sheet1") Set plg = .Range("M2:M" & .Range("M65536").End(xlUp).Row) End With
For Each Cell In plg Cell.Offset(, 5).FormulaArray = "ÚTE(LEFT($M" & Ligne & ",4),RIGHT(LEFT($M" & Ligne & ",6),2),RIGHT($M" & Ligne & ",2))" Next Cell End Sub
Le résultat affiché dans toutes les cellules est le suivant: ÚTE(LEFT($M328,4),RIGHT(LEFT($M328,6),2),RIGHT($M328,2))
328 étant la dernière ligne. En fait ce que je veux, c'est qu'Excel écrive $M5 à la ligne 5, $M6 à la ligne 6, etc....
Voyez-vous ou j'ai erré??
Philippe m'a gentiment proposé ce qui suit, mais malheureusement Excel ne veut pas me donner un autre résultat que le précédent, sauf que cette fois-ci on dirait qu'Excel inscrit la formule dans la cellule 2 autant de fois qu'il y a de lignes dans la plage, et que finalement la formule inscrite est celle devant se retrouver à la ligne 328 (la dernière de la plage):
For lg = 2 To ligne Cell.Offset(, 5).FormulaArray = "ÚTE(LEFT($M" & lg & _ ",4),RIGHT(LEFT($M" & lg & ",6),2),RIGHT($M" & lg & ",2))" lg = lg + 1
Quelqu'un pourrait m'aider à me démêler?
Merci
Denys
Denys
Bonjour Vincnet,
Merci beaucoup. Cependant, Excel me répond "Invalid or unqualified sequence" en surlignant .Range (le 2e) J'ai donc enlevé le point devant Range, et ça ne fonctionne pas plus, Excel cherchant un objet.
Denys
Bonjour Denys, Essaie ça (ça remplace tout ton code) : ThisWorkbook.Worksheets("Sheet1").Range("R2:R" & .Range("M65536").End(xlUp).Row).FormulaR1C1 = "ÚTE(LEFT(RC[-5],4),RIGHT(LEFT(LC[-5],6),2),RIGHT(RC[-5],2))"
-- A+
V.
Bonjour à tous,
Voici la question que j'ai posée vendredi dernier.... Dans la macro qui suit, Excel ne me donne que le résultat devant apparaitre dans la dernière cellule dans toutes les cellules !!!
Voici la macro qui a pour but de convertir des dates format texte en format date:
Sub conversion()
Dim plg As Range, Cell As Range Dim NomFeuille As String
Ligne = Range("M65536").End(xlUp).Row
NomFeuille = "sheet1"
With Worksheets("sheet1") Set plg = .Range("M2:M" & .Range("M65536").End(xlUp).Row) End With
For Each Cell In plg Cell.Offset(, 5).FormulaArray = "ÚTE(LEFT($M" & Ligne & ",4),RIGHT(LEFT($M" & Ligne & ",6),2),RIGHT($M" & Ligne & ",2))" Next Cell End Sub
Le résultat affiché dans toutes les cellules est le suivant: ÚTE(LEFT($M328,4),RIGHT(LEFT($M328,6),2),RIGHT($M328,2))
328 étant la dernière ligne. En fait ce que je veux, c'est qu'Excel écrive $M5 à la ligne 5, $M6 à la ligne 6, etc....
Voyez-vous ou j'ai erré??
Philippe m'a gentiment proposé ce qui suit, mais malheureusement Excel ne veut pas me donner un autre résultat que le précédent, sauf que cette fois-ci on dirait qu'Excel inscrit la formule dans la cellule 2 autant de fois qu'il y a de lignes dans la plage, et que finalement la formule inscrite est celle devant se retrouver à la ligne 328 (la dernière de la plage):
For lg = 2 To ligne Cell.Offset(, 5).FormulaArray = "ÚTE(LEFT($M" & lg & _ ",4),RIGHT(LEFT($M" & lg & ",6),2),RIGHT($M" & lg & ",2))" lg = lg + 1
Quelqu'un pourrait m'aider à me démêler?
Merci
Denys
Bonjour Vincnet,
Merci beaucoup. Cependant, Excel me répond "Invalid or unqualified sequence"
en surlignant .Range (le 2e) J'ai donc enlevé le point devant Range, et
ça ne fonctionne pas plus, Excel cherchant un objet.
Denys
Bonjour Denys,
Essaie ça (ça remplace tout ton code) :
ThisWorkbook.Worksheets("Sheet1").Range("R2:R" &
.Range("M65536").End(xlUp).Row).FormulaR1C1 =
"ÚTE(LEFT(RC[-5],4),RIGHT(LEFT(LC[-5],6),2),RIGHT(RC[-5],2))"
--
A+
V.
Bonjour à tous,
Voici la question que j'ai posée vendredi dernier.... Dans la macro qui suit,
Excel ne me donne que le résultat devant apparaitre dans la dernière cellule
dans toutes les cellules !!!
Voici la macro qui a pour but de convertir des dates format texte en format
date:
Sub conversion()
Dim plg As Range, Cell As Range
Dim NomFeuille As String
Ligne = Range("M65536").End(xlUp).Row
NomFeuille = "sheet1"
With Worksheets("sheet1")
Set plg = .Range("M2:M" & .Range("M65536").End(xlUp).Row)
End With
For Each Cell In plg
Cell.Offset(, 5).FormulaArray = "ÚTE(LEFT($M" & Ligne &
",4),RIGHT(LEFT($M" & Ligne & ",6),2),RIGHT($M" & Ligne & ",2))"
Next Cell
End Sub
Le résultat affiché dans toutes les cellules est le suivant:
ÚTE(LEFT($M328,4),RIGHT(LEFT($M328,6),2),RIGHT($M328,2))
328 étant la dernière ligne. En fait ce que je veux, c'est qu'Excel écrive
$M5 à la ligne 5, $M6 à la ligne 6, etc....
Voyez-vous ou j'ai erré??
Philippe m'a gentiment proposé ce qui suit, mais malheureusement Excel ne
veut pas me donner un autre résultat que le précédent, sauf que cette fois-ci
on dirait qu'Excel inscrit la formule dans la cellule 2 autant de fois qu'il
y a de lignes dans la plage, et que finalement la formule inscrite est celle
devant se retrouver à la ligne 328 (la dernière de la plage):
For lg = 2 To ligne
Cell.Offset(, 5).FormulaArray = "ÚTE(LEFT($M" & lg & _
",4),RIGHT(LEFT($M" & lg & ",6),2),RIGHT($M" & lg & ",2))"
lg = lg + 1
Merci beaucoup. Cependant, Excel me répond "Invalid or unqualified sequence" en surlignant .Range (le 2e) J'ai donc enlevé le point devant Range, et ça ne fonctionne pas plus, Excel cherchant un objet.
Denys
Bonjour Denys, Essaie ça (ça remplace tout ton code) : ThisWorkbook.Worksheets("Sheet1").Range("R2:R" & .Range("M65536").End(xlUp).Row).FormulaR1C1 = "ÚTE(LEFT(RC[-5],4),RIGHT(LEFT(LC[-5],6),2),RIGHT(RC[-5],2))"
-- A+
V.
Bonjour à tous,
Voici la question que j'ai posée vendredi dernier.... Dans la macro qui suit, Excel ne me donne que le résultat devant apparaitre dans la dernière cellule dans toutes les cellules !!!
Voici la macro qui a pour but de convertir des dates format texte en format date:
Sub conversion()
Dim plg As Range, Cell As Range Dim NomFeuille As String
Ligne = Range("M65536").End(xlUp).Row
NomFeuille = "sheet1"
With Worksheets("sheet1") Set plg = .Range("M2:M" & .Range("M65536").End(xlUp).Row) End With
For Each Cell In plg Cell.Offset(, 5).FormulaArray = "ÚTE(LEFT($M" & Ligne & ",4),RIGHT(LEFT($M" & Ligne & ",6),2),RIGHT($M" & Ligne & ",2))" Next Cell End Sub
Le résultat affiché dans toutes les cellules est le suivant: ÚTE(LEFT($M328,4),RIGHT(LEFT($M328,6),2),RIGHT($M328,2))
328 étant la dernière ligne. En fait ce que je veux, c'est qu'Excel écrive $M5 à la ligne 5, $M6 à la ligne 6, etc....
Voyez-vous ou j'ai erré??
Philippe m'a gentiment proposé ce qui suit, mais malheureusement Excel ne veut pas me donner un autre résultat que le précédent, sauf que cette fois-ci on dirait qu'Excel inscrit la formule dans la cellule 2 autant de fois qu'il y a de lignes dans la plage, et que finalement la formule inscrite est celle devant se retrouver à la ligne 328 (la dernière de la plage):
For lg = 2 To ligne Cell.Offset(, 5).FormulaArray = "ÚTE(LEFT($M" & lg & _ ",4),RIGHT(LEFT($M" & lg & ",6),2),RIGHT($M" & lg & ",2))" lg = lg + 1