Bonjour à tous,
Je suis encore loin d'être un pro en VBA et c'est pourquoi je voudrais vous solliciter pour un petit problème que je n'arrive pas à résoudre (C'est souvent le but d'un forum je pense)
Voilà, je cherche à créer une fonction qui me permettrait de réaliser une petite opération qui na l'air de rien comme ça, mais s'avère être plus compliqué que je ne le pensais.
Je voudrais insérer dans une cellule la valeur d'une autre cellule puis réaliser un calcul avec (genre : +1 ou *5 ou /2 ou -8 etc.)
Exemple : dans la cellule A2, je voudrais récupérer la valeur de la cellule A1+1.
Facile me direz-vous.
Certes ! Mais ce qui complique la chose, c'est que cette formule est dans une ligne que j'insert automatiquement et n'importe où dans une liste.
Ce qui fait que si j'insert une première ligne, ma cellule s'incrémente de 1 par rapport à la cellule du dessus, mais si j'insert encore une nouvelle ligne au dessus de celle que je viens d'insérer, la valeur ne s'incrément plus, car elle garde la valeur de la première en référence et non celle que je viens d'insérer.
Alors j'ai bien trouvé une formule sur Internet qui permet ça et la voici :
=INDIRECT("B"&LIGNE()-1)+1
Mais moi ce que je voudrais, c'est créer une fonction personnalisée en VBA qui me permette ceci :
Function MaFonction (Cellule)
' Je sélectionne la cellule dont je souhaite récupérer la valeur
' Et ensuite que je puisse insérer des colonne et des lignes et que cela s'incrémente toujours
'Comme il faut
End Fonction
Car le défaut de la formule du dessus, et que, comme vous pouvais le voir, elle reste bloqué sur la colonne " B ", si j'insère une nouvelle colonne entre " A " et " B ", celle-ci reste en " B ", donc au mauvais endroit.
Alors j'espère que ce petit problème intéressera certain d'entre vous, car je vous avoue que je sèche un peu sur ce coup là.
D'avance merci à vous pour vos réponses et suggestions.
Je suis encore loin d'être un pro en VBA et c'est pourquoi je voudrais vous solliciter pour un petit problème que je n'arrive pas à résoudre (C'est souvent le but d'un forum je pense)
Voilà, je cherche à créer une fonction qui me permettrait de réaliser une petite opération qui na l'air de rien comme ça, mais s'avère être plus compliqué que je ne le pensais.
Je voudrais insérer dans une cellule la valeur d'une autre cellule puis réaliser un calcul avec (genre : +1 ou *5 ou /2 ou -8 etc.)
Exemple : dans la cellule A2, je voudrais récupérer la valeur de la cellule A1+1.
Facile me direz-vous.
Certes ! Mais ce qui complique la chose, c'est que cette formule est dans une ligne que j'insert automatiquement et n'importe où dans une liste.
Ce qui fait que si j'insert une première ligne, ma cellule s'incrémente de 1 par rapport à la cellule du dessus, mais si j'insert encore une nouvelle ligne au dessus de celle que je viens d'insérer, la valeur ne s'incrément plus, car elle garde la valeur de la première en référence et non celle que je viens d'insérer.
Alors j'ai bien trouvé une formule sur Internet qui permet ça et la voici :
=INDIRECT("B"&LIGNE()-1)+1
Mais moi ce que je voudrais, c'est créer une fonction personnalisée en VBA qui me permette ceci :
Function MaFonction (Cellule)
' Je sélectionne la cellule dont je souhaite récupérer la valeur
' Et ensuite que je puisse insérer des colonne et des lignes et que cela s'incrémente toujours
'Comme il faut
End Fonction
Car le défaut de la formule du dessus, et que, comme vous pouvais le voir, elle reste bloqué sur la colonne " B ", si j'insère une nouvelle colonne entre " A " et " B ", celle-ci reste en " B ", donc au mauvais endroit.
Alors j'espère que ce petit problème intéressera certain d'entre vous, car je vous avoue que je sèche un peu sur ce coup là.
D'avance merci à vous pour vos réponses et suggestions.
Dernière édition: