VBA - Création tableau

aurel7687

XLDnaute Nouveau
Bonjour à toute la communauté,

Je n'ai aucune notion sur comment gérer les tableaux via VBA. Il existe pas de documentation, je le sais.

Cependant, je pense qu'en vous exposant ce que je veux faire vous pourrez m'orienter...

Je dispose actuellement de 2 colonnes: une avec des nombres croissants (de 0 à 300) et dans l'autre une formule utilisant ces nombres.
J'aimerais passer par une macro pour effectuer le calcul et mettre ces informations dans une feuille sous forme de texte, sans le chemin de la formule...

Pouvez-vous m'orienter ?

Merci par avance.
Bon week-end.

Cordialement,
 

aurel7687

XLDnaute Nouveau
Re : VBA - Création tableau

Bonjour Banzai64,

Merci pour cette proposition mais je souhaite éviter cette solution.

Comme ma colonne 1 contient des nombres par ordre ( de 0 à 300 ) je pensais utiliser une fonction (que j'aurais mise dans un module) pour mettre les valeurs correspondantes dans la colonne 2.

Bonne journée.
 

Banzai64

XLDnaute Accro
Re : VBA - Création tableau

Bonjour

Pour clore le sujet de mon côté

Pas de souci avec une fonction personnelle

VB:
Sub Formule()
  With Range("B1:B" & Range("A65536").End(xlUp).Row)
    ' Formule à définir
    .Formula = "=Calcul(R1C1:R[1]C1)"
    .Value = .Value
  End With
End Sub

Function Calcul(Plage As Range) As Double
Dim Cel As Range
  Application.Volatile
  For Each Cel In Plage
    Calcul = Calcul + Cel
  Next Cel
End Function

Bonne journée
 

aurel7687

XLDnaute Nouveau
Re : VBA - Création tableau

Re bonjour,

J'ai donc réussi l'incrémentation de 0 à 300 par tranche de 1 sur ma colonne A.

Cependant, je dois maintenant intégrer ma fonction personnelle (dans ma colonne B et qui dépend de la valeur sur la meme ligne de la colonne A) mais je ne comprend pas la syntaxe à adopter pour que la formule s'adapte à la valeur de la cellule d'à coté.

Pouvez-vous m'éclairer ?

Merci.
 

Banzai64

XLDnaute Accro
Re : VBA - Création tableau

Bonjour
Regardes le premier exemple
Code:
.Formula = "=RC[-1]*20"
R : Ligne dans ce cas indique la même ligne que celle de la formule
C[-1] : Colonne de la formule - 1 : si la formule est en colonne B on prendra la valeur de la colonne A

Quand la valeur est entre crochet, cela veut dire que la cellule suivra la formule lors de la recopie
Si pas de crochet, mais un nombre, pour la ligne(R) ou pour la colonne (C) ce sont des adressages absolus ($)
Dans le cas de R1C1 la formule peut être n'importe où , elle tiendra toujours compte de $A$1
Si pas de nombre après le R ou le C il faut considérer [0]

En G12 formule
RC1 la formule devient =$A12
R1C1 la formule devient =$A$1
R[1]C1 la formule devient =$A13
R[-1]C[4] la formule devient = K11

Sauf erreur ou omission

Bonne journée
 

aurel7687

XLDnaute Nouveau
Re : VBA - Création tableau

Très bien, merci pour ces explications.

Dans mon cas, je souhaites utiliser ma fonction personnelle car j'ai plusieurs valeurs constantes qui interviendront dans mon calcul.
Sauf que où je bloque c'est l'écriture de cette fonction car je dois faire intervenir le terme correspondant à RC[-1]...

Quel alternative puis-je utiliser ?

Merci
 

Discussions similaires

  • Résolu(e)
Microsoft 365 planning
Réponses
17
Affichages
695

Membres actuellement en ligne

Statistiques des forums

Discussions
312 229
Messages
2 086 426
Membres
103 206
dernier inscrit
diambote