Coller une formule excel en fonction d'une cellule
2 réponses
elli6258
Bonsoir à tous,
J'ai récupérer la macro ci-dessous et que j'essai d'adapter pour réaliser
ceci:
je scrute chaque cellule de la colonne A et si les 2 premieres lettre sont
"OU" alors je pose une formule "= si(...) sur la même ligne et 7 colonnes
plus loin.
J'ai cru comprendre que la fonction offset me décalait la cellule active et
formula posait un texte.
Pouvez-vous me dire ce qui ne colle pas?
Merci d'avance.
Michel
Dim OUSlig As Range
Dim pl11 As Range
Set pl11 = Range("A1:A" & Range("A65536").End(xlUp).Row)
For Each OUSlig In pl11
If Left(OUSlig.Value, 2) = "OU" Then
ActiveCell.Offset(0, 7).FormulaR1C1 =
"=IF(MAX(RC[1]:RC[9])=1,""OUI"","""")"
End If
Next OUSlig
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
Jacky
Bonsoir,
Replace cette ligne ActiveCell.Offset(0, 7).FormulaR1C1 = "=IF(MAX(RC[1]:RC[9])=1,""OUI"","""")" par OUSlig.Offset(0, 7).FormulaR1C1 = "=IF(MAX(RC[1]:RC[9])=1,""OUI"","""")" '-------------- eventullement celle-ci si besoin If Left(OUSlig.Value, 2) = "OU" Then par If UCase(Left(OUSlig.Value, 2)) = "OU" Then -- Salutations JJ
"elli6258" a écrit dans le message de news:
Bonsoir à tous, J'ai récupérer la macro ci-dessous et que j'essai d'adapter pour réaliser ceci: je scrute chaque cellule de la colonne A et si les 2 premieres lettre sont "OU" alors je pose une formule "= si(...) sur la même ligne et 7 colonnes plus loin. J'ai cru comprendre que la fonction offset me décalait la cellule active et formula posait un texte.
Pouvez-vous me dire ce qui ne colle pas? Merci d'avance. Michel
Dim OUSlig As Range Dim pl11 As Range Set pl11 = Range("A1:A" & Range("A65536").End(xlUp).Row) For Each OUSlig In pl11 If Left(OUSlig.Value, 2) = "OU" Then ActiveCell.Offset(0, 7).FormulaR1C1 = "=IF(MAX(RC[1]:RC[9])=1,""OUI"","""")" End If Next OUSlig
Bonsoir,
Replace cette ligne
ActiveCell.Offset(0, 7).FormulaR1C1 =
"=IF(MAX(RC[1]:RC[9])=1,""OUI"","""")"
par
OUSlig.Offset(0, 7).FormulaR1C1 = "=IF(MAX(RC[1]:RC[9])=1,""OUI"","""")"
'--------------
eventullement celle-ci si besoin
If Left(OUSlig.Value, 2) = "OU" Then
par
If UCase(Left(OUSlig.Value, 2)) = "OU" Then
--
Salutations
JJ
"elli6258" <minier.michel@neuf.fr> a écrit dans le message de news:
ub1qNdMTJHA.3668@TK2MSFTNGP03.phx.gbl...
Bonsoir à tous,
J'ai récupérer la macro ci-dessous et que j'essai d'adapter pour réaliser
ceci:
je scrute chaque cellule de la colonne A et si les 2 premieres lettre sont
"OU" alors je pose une formule "= si(...) sur la même ligne et 7 colonnes
plus loin.
J'ai cru comprendre que la fonction offset me décalait la cellule active
et formula posait un texte.
Pouvez-vous me dire ce qui ne colle pas?
Merci d'avance.
Michel
Dim OUSlig As Range
Dim pl11 As Range
Set pl11 = Range("A1:A" & Range("A65536").End(xlUp).Row)
For Each OUSlig In pl11
If Left(OUSlig.Value, 2) = "OU" Then
ActiveCell.Offset(0, 7).FormulaR1C1 =
"=IF(MAX(RC[1]:RC[9])=1,""OUI"","""")"
End If
Next OUSlig
Replace cette ligne ActiveCell.Offset(0, 7).FormulaR1C1 = "=IF(MAX(RC[1]:RC[9])=1,""OUI"","""")" par OUSlig.Offset(0, 7).FormulaR1C1 = "=IF(MAX(RC[1]:RC[9])=1,""OUI"","""")" '-------------- eventullement celle-ci si besoin If Left(OUSlig.Value, 2) = "OU" Then par If UCase(Left(OUSlig.Value, 2)) = "OU" Then -- Salutations JJ
"elli6258" a écrit dans le message de news:
Bonsoir à tous, J'ai récupérer la macro ci-dessous et que j'essai d'adapter pour réaliser ceci: je scrute chaque cellule de la colonne A et si les 2 premieres lettre sont "OU" alors je pose une formule "= si(...) sur la même ligne et 7 colonnes plus loin. J'ai cru comprendre que la fonction offset me décalait la cellule active et formula posait un texte.
Pouvez-vous me dire ce qui ne colle pas? Merci d'avance. Michel
Dim OUSlig As Range Dim pl11 As Range Set pl11 = Range("A1:A" & Range("A65536").End(xlUp).Row) For Each OUSlig In pl11 If Left(OUSlig.Value, 2) = "OU" Then ActiveCell.Offset(0, 7).FormulaR1C1 = "=IF(MAX(RC[1]:RC[9])=1,""OUI"","""")" End If Next OUSlig
elli6258
Merci pour ton aide. je viens d'apprendre encore quelque chose...j'ai utilisé ta 1 ere proposition et cela fonctionne. Cordialement
"Jacky" a écrit dans le message de news: %23wXaa$
Bonsoir,
Replace cette ligne ActiveCell.Offset(0, 7).FormulaR1C1 = "=IF(MAX(RC[1]:RC[9])=1,""OUI"","""")" par OUSlig.Offset(0, 7).FormulaR1C1 = "=IF(MAX(RC[1]:RC[9])=1,""OUI"","""")" '-------------- eventullement celle-ci si besoin If Left(OUSlig.Value, 2) = "OU" Then par If UCase(Left(OUSlig.Value, 2)) = "OU" Then -- Salutations JJ
"elli6258" a écrit dans le message de news:
Bonsoir à tous, J'ai récupérer la macro ci-dessous et que j'essai d'adapter pour réaliser ceci: je scrute chaque cellule de la colonne A et si les 2 premieres lettre sont "OU" alors je pose une formule "= si(...) sur la même ligne et 7 colonnes plus loin. J'ai cru comprendre que la fonction offset me décalait la cellule active et formula posait un texte.
Pouvez-vous me dire ce qui ne colle pas? Merci d'avance. Michel
Dim OUSlig As Range Dim pl11 As Range Set pl11 = Range("A1:A" & Range("A65536").End(xlUp).Row) For Each OUSlig In pl11 If Left(OUSlig.Value, 2) = "OU" Then ActiveCell.Offset(0, 7).FormulaR1C1 = "=IF(MAX(RC[1]:RC[9])=1,""OUI"","""")" End If Next OUSlig
Merci pour ton aide.
je viens d'apprendre encore quelque chose...j'ai utilisé ta 1 ere
proposition et cela fonctionne.
Cordialement
"Jacky" <Dupond@marcel.fr> a écrit dans le message de news:
%23wXaa$MTJHA.6032@TK2MSFTNGP04.phx.gbl...
Bonsoir,
Replace cette ligne
ActiveCell.Offset(0, 7).FormulaR1C1 =
"=IF(MAX(RC[1]:RC[9])=1,""OUI"","""")"
par
OUSlig.Offset(0, 7).FormulaR1C1 = "=IF(MAX(RC[1]:RC[9])=1,""OUI"","""")"
'--------------
eventullement celle-ci si besoin
If Left(OUSlig.Value, 2) = "OU" Then
par
If UCase(Left(OUSlig.Value, 2)) = "OU" Then
--
Salutations
JJ
"elli6258" <minier.michel@neuf.fr> a écrit dans le message de news:
ub1qNdMTJHA.3668@TK2MSFTNGP03.phx.gbl...
Bonsoir à tous,
J'ai récupérer la macro ci-dessous et que j'essai d'adapter pour réaliser
ceci:
je scrute chaque cellule de la colonne A et si les 2 premieres lettre
sont "OU" alors je pose une formule "= si(...) sur la même ligne et 7
colonnes plus loin.
J'ai cru comprendre que la fonction offset me décalait la cellule active
et formula posait un texte.
Pouvez-vous me dire ce qui ne colle pas?
Merci d'avance.
Michel
Dim OUSlig As Range
Dim pl11 As Range
Set pl11 = Range("A1:A" & Range("A65536").End(xlUp).Row)
For Each OUSlig In pl11
If Left(OUSlig.Value, 2) = "OU" Then
ActiveCell.Offset(0, 7).FormulaR1C1 =
"=IF(MAX(RC[1]:RC[9])=1,""OUI"","""")"
End If
Next OUSlig
Merci pour ton aide. je viens d'apprendre encore quelque chose...j'ai utilisé ta 1 ere proposition et cela fonctionne. Cordialement
"Jacky" a écrit dans le message de news: %23wXaa$
Bonsoir,
Replace cette ligne ActiveCell.Offset(0, 7).FormulaR1C1 = "=IF(MAX(RC[1]:RC[9])=1,""OUI"","""")" par OUSlig.Offset(0, 7).FormulaR1C1 = "=IF(MAX(RC[1]:RC[9])=1,""OUI"","""")" '-------------- eventullement celle-ci si besoin If Left(OUSlig.Value, 2) = "OU" Then par If UCase(Left(OUSlig.Value, 2)) = "OU" Then -- Salutations JJ
"elli6258" a écrit dans le message de news:
Bonsoir à tous, J'ai récupérer la macro ci-dessous et que j'essai d'adapter pour réaliser ceci: je scrute chaque cellule de la colonne A et si les 2 premieres lettre sont "OU" alors je pose une formule "= si(...) sur la même ligne et 7 colonnes plus loin. J'ai cru comprendre que la fonction offset me décalait la cellule active et formula posait un texte.
Pouvez-vous me dire ce qui ne colle pas? Merci d'avance. Michel
Dim OUSlig As Range Dim pl11 As Range Set pl11 = Range("A1:A" & Range("A65536").End(xlUp).Row) For Each OUSlig In pl11 If Left(OUSlig.Value, 2) = "OU" Then ActiveCell.Offset(0, 7).FormulaR1C1 = "=IF(MAX(RC[1]:RC[9])=1,""OUI"","""")" End If Next OUSlig