Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Aide pour macro VBA

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 !

luke_17

XLDnaute Nouveau
Bonjour,

je vous sollicite car j'ai besoin d'aide concernant une macro que je n'arrive pas à construire.

Je vous ai mis en pièce jointe un tableau Excel pour que mes indications soient un minimum parlantes.

J’ai un classeur Excel dans lequel j’ai 2 feuilles que je nomerai alpha et beta.

Dans la feuille beta j’ai un tableau de 2 lignes.
La première ligne est constituée de cellules dont les valeurs sont de type jj/mm/aaaa
La seconde ligne accueillera des valeurs numériques que je voudrais calculées par la macro.
Pour information la première cellule de la seconde ligne contient déjà une valeur numérique.

J’aimerais que ma macro à partir de (n,n) jusqu’à (n,n+i) fasse un copier / collage special valeur de (n,n-1) en (n,n-1) si une double condition est réunie puis fasse un calcul en (n,n)

Voici la double condition

Si (n,n-1) est non vide ET (n-1,n) [pour rappel une cellule jj/mm/aaaa] = cellule tierce [également au format jj/mm/aaaa] qui est sur la même feuille beta
alors faire copier/collage special valeur de (n,n-1) dans elle-même càd en (n,n-1) et faire le calcul ci dessous en (n,n) [bien noter que ça va chercher des données sur l’autre feuille nommée alpha]

=65536-NB.VIDE(alpha!$A:$A)-1-(65536-NB.VIDE(alpha!$E:$E)-1)



Si la double condition n’est pas remplie, alors laisser la cellule (n,n) vide.


J'ai volontairement laissé la plage de données vide dans la feuille alpha car ce n'est pas primordial pour la macro.
J'espère que ce n'est pas incompréhensible et vous remercie par avance de votre aide.
N'hésitez pas à détailler et expliquer votre réponse car même si je ne suis pas totalement débutant, je ne me plonge dans VB que 1 à 2 fois par an.
 

Pièces jointes

Re : Aide pour macro VBA

Bonjour luke_17

Woouaowww

Comment dire ... Pourrais-tu donner un exemple concret dans ton fichier de ce que tu attends ?
Parce que là .... je ne dois pas être la seule à n'avoir rien compris .... 😱

@ +

mth

Edit: Bonjour masterdisco 🙂
Bon, ben chapeau à toi, 🙂 j'ai un petit coté blonde là 😀 . M'en vais chercher un café pour me remonter le moral !
@ + 🙂
m
 
Dernière édition:
Re : Aide pour macro VBA

merci pour vos réponses.

Masterdico dès que j'aurais testé je te dis si c'est bon.

mth, pour les blondes ça donne quelque chose du genre :
Je veux copier/coller special valeur le résultat d'hier dans la cellule dans laquelle ce résultat est déjà affiché, calculer le résultat du jour à l'aide de la formule donnée tout en gardant vides les cellules des jours suivants dans lesquels le calcul sera fait 🙄

Humour bien évidemment à ne surtout pas mal prendre!!😉
Je me doutais que ça ne serait pas évident à suivre même si j'ai essayé de faire en sorte que ça soit possible de manière logique.
 
Re : Aide pour macro VBA

Je sais qu'à première vue ça semble peu compréhensible mais j'ai structuré ça de manière logique pour que quelqu'un qui se plonge dedans et suive le cheminement logique comprenne.

Et je dois avouer que ça a fonctionné vu que le code soumis par masterdico donne exactement ce que je veux 😀

Un grand merci donc!
 
Re : Aide pour macro VBA

Masterdisco si tu traines encore par là ou bien quelqu'un d'autre également, j'ai repris ton code pour un calcul similaire où seule la formule de fin est différente et j'obtiens une erreur de compilation...

A la place de "=65536-NB.VIDE(alpha!$A:$A)-1-(65536-NB.VIDE(alpha!$E:$E)-1)"
J'aimerais incorporer la formule =SOMMEPROD((alpha!$E$2:$E$4999="")*(alpha!$H$2:$H$4999="TEST"))

Par avance merci de votre aide.
 
Re : Aide pour macro VBA

Ce qui explique pourquoi ma formule marchait quand je mettais simplement "" étant donné qu'une de mes 2 conditions recherchée est cellule vide.

Je ne peux qu'encore te remercier de prendre du temps pour m'aider.

Sans toutefois trouver la réponse qu tu viens de me donner j'ai cherché un peu sur internet avec les mots clefs erreur formula sommeprod vba etc... et si j'ai pas trop mal compris je crois qu'on ne peut pas imbriquer de fonction de gestion d'erreur avec SOMMEPROD or j'ai peur que le cas se produise car il semble que la ligne valeur = r.value exécutée la fois suivante dans la boucle plante car la cellule lue ne contient plus un String mais une Erreur VBA.

Est ce que c'est compréhensible? Si oui as tu une idée?

Merci.
 
- 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
8
Affichages
480
Réponses
7
Affichages
481
Réponses
6
Affichages
306
Réponses
20
Affichages
872
Réponses
4
Affichages
248
Réponses
6
Affichages
536
Réponses
8
Affichages
480
Réponses
3
Affichages
549
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…