Range("F1").Select ActiveCell.FormulaR1C1 = "Code imputation" Range("G1").Select ActiveCell.FormulaR1C1 = "N° de SOM" '... Range("K2").Select Columns("K:K").EntireColumn.AutoFit
Range("F1").value = "Code imputation" Range("G1").value = "N° de SOM" '... Columns("K:K").EntireColumn.AutoFit
Dim NbLignes As Long Dim i As Long 'Sur la nouvelle feuille créée j'applique la formule suivante = colonne N1 /colonne K1 au niveau de la colonne Q With ActiveSheet.UsedRange NbLignes = .Row + .Rows.Count - 1 'la dernière ligne du tableau End With For i = NbLignes To 2 Step -1 'on commence à partir de la 2ème cellule de la colonne Q Cells(i, "Q").FormulaR1C1 = "=RC[-3]/RC[-6]" 'je sélectionne la feuille objet de la comparaison nomfeuil = InputBox("Veuillez entrer le nom de la feuille objet de la comparaison") Sheets(nomfeuil).Select Cells(i, "P").FormulaR1C1 = "=IF(ISERROR(VLOOKUP(nomfeuil!RC[-1],nomfeuil!R2C15:R12C16,1,FALSE))=TRUE,""Faux"",VLOOKUP(nomfeuil!RC[-1],nomfeuil!R2C15:R12C16,2,FALSE))" 'c'est la formule que je veux appliquer : =SI(ESTERREUR(RECHERCHEV(K2;$F$2:$G$1229;1;FAUX))=VRAI;"Faux";RECHERCHEV(K2;$F$2:$G$1229;2;FAUX)) Next i
Sub test() Dim X As String X = " Coucou" ' Exemple 1 sans concaténation : MsgBox ("ceci est un test pour dire X") ' Exemple2 : Cette fois avec concaténation : MsgBox ("Ceci est un second test pour dire " & X) End Sub
'------------------------------------------------------------------- ' Les deux codes suivants font la même chose : '------------------------------------------------------------------- 'Avec FormulaR1C1 Range("A1").Select ActiveCell.FormulaR1C1 = "=SUM(R[1]C:R[2]C)" ' Avec FormulaLocal Range("A1").FormulaLocal = "=somme(A2:A3)"
'pour FormulaLocal : Cells(i, "Q").FormulaLocal = "=cells(i,"N") & "/" & cells(i,"K")"
y-a-t il un problème de syntaxe dans ce cas?Dans la formule que tu as écrit ? Oui..
Cells(i, "Q").FormulaLocal = "=N" & i & "/" & "K" & i
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionSub import() Dim NbLignes As Long Dim i As Long Dim j As Long Dim onglet As String 'j'applique la formule suivante = colonne N1 (Déjà retenu)/colonne K1 (Mensualité) au niveau de la colonne Q With ActiveSheet.UsedRange NbLignes = .Row + .Rows.Count - 1 'la dernière ligne du tableau End With For i = NbLignes To 2 Step -1 'on commence à partir de la 2ème cellule de la colonne Q Cells(i, "Q").FormulaLocal = "=N" & i & "/" & "K" & i Next i onglet = InputBox("Veuillez entrer le nom de la feuille objet de la comparaison") 'cela servira à choisir la feuille dont je veux comparer ses cellules de la colonne O avec les cellules de la nouvelle feuille créée ' par exemple sur la nouvelle feuille (fichier) j'ai la colonne "P" vide . ' Pour la remplir je dois faire une recherche sur les données qui se trouvent dans la colonne "O" dans une autre feuille "test1". ' Si je trouve dans la feuille "test1" les mêmes données: ' par exemple la cellule O2 feuille "fichier" = cellule O2 feuille "test1" donc je mets dans la colonne "P".feuille "fichier" la valuer trouvée dans la colonne "P".feuille"test1" ' jusqu'à la dernière ligne touvée dans la colonne "O" de la feuille "fichier". 'j'essaie d'utiliser VLOOKUP mais la synthaxe pose problème With Range("P2:P" & NbLignes) .Formula = "=VLOOKUP(O" & NbLignes , "&onglet&" !O2: P12 , 1 , False )" .Value = .Value End With End Sub -- ---- Josef