Macro : même formule toutes les 2 lignes

  • Initiateur de la discussion Initiateur de la discussion blackstyle
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
 
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
 
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.
 
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.
 
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).
 
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
 
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?
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
6
Affichages
467
Retour