Modifier des formules par VBA

Bonjour, je voudrais savoir si c'est possible d'ajouter des arguments à une cellule par VBA.

Je m'explique.

J'ai un tableau (Total nombre de matchs comme arbitre) qui regroupe tous les totaux des autres tableaux.

J'ai un autre tableau (Nombre de matchs comme arbitre) qui regroupent tous les matchs arbitrés sur la saison.

J'ai créer une macro qui ajoute des lignes puis recrée un nouveau tableau pour une prochaine saison.

Le soucis, c'est qu'il ne s'incrémente pas dans le tableau (Total nombre de matchs comme arbitre).

Dans le fichier, si je clique sur la macro "Ajouter une année", j'ai bien le tableau mis en première place mais il n'y a pas les valeurs des totaux qui se trouve dans la cellule D14 par exemple.

Actuellement, il y a :

=SOMME(D27;D37;D52;D74;D92;D115;D130;D145;D154;D158)

Si je rajoute une saison, la formule devient:

=SOMME(D38;D48;D63;D85;D103;D126;D141;D156;D165;D169)

J'aimerais bien ajouter aussi la valeur D27 de la nouvelle saison.

Est ce possible?

Cordialement Nicolas.

Bonjour,

Tout d'abord, une façon (qui laisse de côté l'enregistreur), un peu plus élégante de coder ton intégration par macro :

Sub Macro2()
    Worksheets("integration").Range("A1:R11").Copy
    Worksheets("Arbitrage en France").Range("A17:R17").Insert xlShiftDown
End Sub

Ce qui ne règle pas bien sûr ton problème de formule...

Mais à cet égard, la solution qui me paraîtrait la plus économique consiste à modifier ta formule de départ en :

=SOMME.SI(S15:S158;"X";D15:D158)

Il s'agit bien sûr de mettre simultanément un "X" en S pour les lignes à additionner. Tu peux également soit mettre la police à blanc, soit masquer la colonne, pour ne pas avoir à voir le "X"...

La formule se recopie sur la ligne, le changement est donc relativement réduit et rapide.

Par la suite, il convient de mettre un "X" en S11 sur la feuille "integration", d'étendre la copie et l'insertion à S. Et la formule s'adaptera automatiquement lors d'une insertion (dès lors que l'insertion intervient à l'intérieur de la plage couverte par la formule). Elle s'adaptera dans les mêmes conditions si tu fais varier le nombre de lignes insérées.

Cordialement.

Merci beaucoup. Ca fonctionne parfaitement.

C'est vrai que c'est plus simple.

Nicolas.


J'ai un problème en faite.

Quand je rajoute une saison, la formule du Total nombre de matchs comme arbitre s'incrémente.

J'avais mis au début

=SOMME.SI($S$17:$S$250;"X";D$17:D$250)

Puis après avoir ajouté la saison

=SOMME.SI($S$28:$S$261;"X";D$28:D$261)

Avez vous une solution pour fixer et ne pas modifier la formule?

Ou sinon d'avoir les valeurs réelle par rapport au tableau.

La formule démarre toujours à la valeur 17 et d'incrémente automatiquement à chaque ligne supplémentaire.

Au temps pour moi de t'avoir fourni une formule sans mettre de références absolues où il en fallait !

Mais tu as rectifié ce point...

Il faut que tu fasses démarrer ta formule avant la ligne 17 (ligne d'insertion) pour être sûr de la conserver. La ligne 16 étant fusionnée, j'ai suggéré la ligne 15, plus sûre et vide.

Cordialement.

Ok je comprend mieux.

Merci beaucoup.

Rechercher des sujets similaires à "modifier formules vba"