Macro : même formule toutes les 2 lignes

blackstyle

XLDnaute Nouveau
Bonjour,
Tout d'abord, merci à tous ceux qui prendront le temps de lire ma question.
Je cherche à automatiser par une macro un fichier qui vient d'une source externe, la forme du fichier sera toujours la même.
J'aimerais idéalement me placer tout le temps en cellule B3 et copier le texte de la cellule juste au dessus (ici A),
PUIS descendre de 2 lignes et appliquer la même formule (ici B)
PUIS descendre de 2 lignes et appliquer la même formule (ici C)
ENFIN tout arrêter quand la macro rencontre "Total:"

1584291877358.png



J'espère avoir été clair, et merci d'avance de l'aide que vous pourrez m'apporter sur ce sujet.
Cdlt
Jimmy
 

Staple1600

XLDnaute Barbatruc
Bonsoir le fil

Si j'ai bien compris
Une première piste pour commencer ;)
VB:
Sub test_sommaire()
With Range("A1:B" & Cells(Rows.Count, 1).End(3).Row)
    .SpecialCells(xlCellTypeBlanks).FormulaR1C1 = "=R[-1]C"
    .Value = .Value
End With
End Sub
 

blackstyle

XLDnaute Nouveau
Bonjour
Que contiennent tes cellules B1, B4 et B6 ?
1 ) des constantes ?
2) des formules ?
Si des formules : quelles sont-elles ?

Dans un cas comme dans l'autre, l'utilisation de VBA semble nécessaire.

Les cellules B1, B4 et B6 ne contiennent pas de formules, seulement du texte, pas de constantes, ça peut être n'importe quel texte.
et oui effectivement, il me faut du VBA.
 

jmfmarques

XLDnaute Accro
Les cellules B1, B4 et B6 ne contiennent pas de formules, seulement du texte, pas de constantes, ça peut être n'importe quel texte.
et donc : des constantes (c'est le terme adéquat)
Et que veux-tu maintenant obtenir dans les cellules B2,B5 et B6 :
1) une formule (ex : "=B1", qui lie sa valeur à celle de B1)
ou
2) la constante "A" si B1 contient "A"
Précision indispensable car ce n'est pas pareil

Un salut au passage à JM.
 

jmfmarques

XLDnaute Accro
Tu penses que mon interprétation de la question n'est pas la bonne?
Remplir les cellules "vides" avec le contenu de celles au dessus
Comme le fait la macro postée au message#2

Je n'en sais pas plus que toi à ce sujet, sans autres précisions de
blackstyle

J'ignore (ma boule de cristal a été contaminée par le corona) dans l'état actuel des choses s'il s'agit dune complétion "figée" ou s'il s'agit d'une complétion "souple" (modifiée si l'on modifie l'ascendant).
 

blackstyle

XLDnaute Nouveau
et donc : des constantes (c'est le terme adéquat)
Et que veux-tu maintenant obtenir dans les cellules B2,B5 et B6 :
1) une formule (ex : "=B1", qui lie sa valeur à celle de B1)
ou
2) la constante "A" si B1 contient "A"
Précision indispensable car ce n'est pas pareil

Un salut au passage à JM.

B2, B4 et B6 auront toujours des constantes
B3, B5 et B7 auront la même valeur qui se trouve juste au dessus
je ne sais pas si j'ai été clair... désolé par avance
 

Staple1600

XLDnaute Barbatruc
Re

•>blackstyle
Alors testes ceci
Sur un classeur vierge, lance cette 1ere macro
VB:
Sub Créer_Exemple()
Dim t, tt
t = Array("A", Empty, "B", Empty, "C", Empty)
tt = Array(100, Empty, 200, Empty, 300)
[A2] = "ZB1"
Range("A2:A3").AutoFill Destination:=Range("A2:A7"), Type:=xlFillDefault
[B2:B7] = Application.Transpose(t)
[C3:C7] = Application.Transpose(tt)
[A8:C8] = Array("TOTAL", Empty, "=SUM(C2:C7)")
[A1:C1] = Array("Référence", "Lettre", "montant")
[A1:C8].Borders.Weight = 2
End Sub
NB: Elle ne sert qu'à créer l'exemple pour le test
Puis lance la macro que j'ai posté dans le message#2
Que-penses tu du résultat obtenu?
 

Discussions similaires

Statistiques des forums

Discussions
314 499
Messages
2 110 247
Membres
110 711
dernier inscrit
chmessi