je suis débutant complet en Vb, j'ai un tableau excel avec des formules (jusque là rien d'extraordinaire...) mais ce tableau contient quelques 1000 lignes (environ). Donc je souhaiterais retranscrire en vb des formules du type:
en fait le nombre de ligne de ma feuille excel varie,
donc à l'heure actuelle, les formules sont recopiées sur environ 8000 lignes.
je souhaite detecter le nombre de ligne ( en utilisant "n = Range("A65536").End(xlUp).Row") pour après faire une boucle et recopier la dizaine de formules sur le nombre de lignes exacte, de façon à diminuer la taille du fichier.
Je c pas si j'ai compris ce que tu veux mais bon... allez je me lance
d'apres ce que j'ai compris tu veux mettre une formule dans chaque cellule
de tes 1000 lignes ?
si c ca je penses que ca ca devrait marcher
Sub test()
Dim Cel As Range
With ActiveSheet
For Each Cel In .Range("A1:A100") 'mets la plage que tu veux
If (Cel.FormulaR1C1 = "") Then
Cel.FormulaR1C1 = "Ta formule" 'entre les "" la formule que tu veux
End If
Next Cel
End With
End Sub
Comme ca ca devrait te coller la formule que tu veux dans les 100 lignes de la A1 a la A100
J'espere pas dire de connerie hein suis loin d'etre un crack avec VBA pour l'instant ^^
Zé peur être une solution pour toi utilise l'enregistreur de macro lance l'enregistrement , et tape ta formule normalement la transcription en VB se fera toute seule ensuite tu regarde dans VBE.
Zé donc si j'ai bien compris y'a pas de problème ce Fil donc tu as créer celui Lien supprimé.
Non vraiment Zé pas faire ce genre de truc ça fait déja assez de remu-ménage comme ça regarde ce Lien supprimé par exemple on a un beau Forum faut le préservé .
With ActiveSheet
For Each Cel In .Range("BG1:BG" & n) 'n est le nombre de ligne
If (Cel.FormulaR1C1 = "") Then
Cel.FormulaR1C1 = "=IF(AA"&i"<>"";AA"&i";IF(V"&i"<>"";V"&i";IF(O&i<>"";O"&i";"")))"" 'entre les "" la formule que tu veux
End If
Next Cel
End With
mais j'ai une erreur de syntaxe à la compilation....