Soustraction dans une colonne

Si tu voyais mon excel en entier, des lignes et des lignes de codes comme ce que tu vois là, je m'y perd moi même, mais bon grâce à toi je commence à y voir le bout mdrrr

voilà ton fichier (très légèrement modifié) :

5v3.xlsm (62.29 Ko)

j'dois quand même t'avouer quelque chose : au début, avec un nom d'fichier pareil, j'ai pas osé l'ouvrir :

j'ai cru qu'les Visiteurs s'étaient cachés dedans ! et Diana, elle est terrible !!!

comme mon code VBA tient sur plusieurs pages, t'en as pour toute la soirée à le lire !

alors bon courage !!!

dhany

Sur plusieurs pages? Mdrr

Sa ne marche pas B1 ne change pas, B1 doit être = à NB, et NB peut se mettre à jour tout le temps

Merci d'avoir améliorer ce bout de code en tout cas

ben j'comprends pas ! le but de la macro, c'était pas d'mettre le nombre des données et la moyenne sous le dernier nombre de la colonne A ? moi, quand j'exécute Macro1() ça le fait : ça met 4 en A6 et 20,475 en A7 ; et c'est bien variable, car si y'avait plus de données, ça serait écrit plus bas (et si plus haut, inversement ; t'as vu comme l'inversion permet d'éviter un pléonasme ? si t'as besoin, tu peux aussi dire vice versa ; t'inquiètes pas, c'est du latin, et y'a aucun vice de forme ! ).

NB : j'ai pas fait de droit mais on en apprend des choses, dans les enquêtes policières ! surtout quand y'a certains moments où ça s'passe dans les tribunaux ! exemple : la série "Perry Mason" (acteur : Raymond Burr)


si NB doit toujours être en B1, c'est encore plus simple !

remplace : Cells(dlig + 1, 1) = .Count(Plg) ' NB

par : [B1] = .Count(Plg) ' NB


et où veux-tu écrire la Moyenne ? en C1 ? si oui :

remplace : Cells(dlig + 2, 1) = .Average(Plg) ' Average

par : [C1] = .Average(Plg) ' Average

tu vois, c'est tout aussi simple !


avec VBA, y'a rien d'compliqué ! (ou presque)

dhany

Merci beaucoup sa à régler mes soucis !! Je vais finir par te cité dans mon rapport de projet mdrrr

super, merci pour ton retour ! n'hésite pas à demander autre chose si nécessaire ! mais si vraiment tu n'as plus rien à demander pour ce sujet, je te laisse passer ce sujet en résolu : tu as juste à cliquer sur le bouton qui est près du bouton (dans le coin haut droit d'un message) ; c'est gratuit et ça mord pas, c'est juste pour clôturer le fil de la discussion.

tu sauras que tu as réussi quand tu verras un petit rond vert avec une coche, comme ceci :

sujet

(toi seul peut le faire, car c'est toi qui a créé ce sujet)

si tu veux faire un p'tit détour dans le coin bas droit d'un message, c'est possible aussi.

dhany

Merci je connaissais pas on découvre petit à petit mdrr tu m'a appris de bonnes techniques, comme je débute en vba j'ai tendance à écrire beaucoup de ligne alors que je peux optimiser à fond.

Merci à toi pour ta patience et ta générosité.

de rien, c'était avec plaisir ! et j'suis ravi si j'ai pu t'aider à progresser !

dhany

Bonjour Dhany,

Est-ce que tu pourrais m'aider pour un autre exemple stp?

Je souhaiterai faire ce que je fais déjà dans la partie CALCULS mais en prenant les informations dans la partie DONNEES, sachant que la partie DONNEES peut être modifier on peut rajouter d'autres colonnes, on vient de me donner la consigne aujourd'hui, du coup ce que j'ai fais jusqu'a maintenant (Le fichier que je poste n'en est qu'une partie pour un exemple) ne sert à rien parce qu'il ne s'adapte pas si une nouvelle colonne est ajouté..

Si tu pouvais au moins me donner des indications pour prendre les données de la feuille DONNEES et les coller dans la partie calculs sa serait TOOP

Merci d'avance pour ton aide

3exemple.xlsm (101.89 Ko)

Bonjour Filou,

j'viens d'regarder ton fichier Excel, mais pour ta demande, y'a un problème de structure ! je m'explique :

en feuille "DONNEES" : tu as des nombres en colonnes A à D (longueur variable) ; et surtout, tu dis que tu peux ajouter des colonnes ; donc pour l'exemple, supposons que tu ajoutes 3 colonnes ; ok, y'a la place ➯ colonnes A à G ; mais ensuite :

en feuille "CALCULS" : tu veux y coller les données ; y'a la place pour les colonnes A à C ; tu peux à la rigueur coller la colonne D, même si elle sera tout contre la colonne E où tu as déjà saisi le texte "GROUPES" en E2 ; mais comme la colonne E et celles de droite sont occupées, y'a plus la place pour coller les colonnes E à G (à moins d'écraser leur contenu) !

solution possible : insérer autant de colonnes que nécessaire avant la colonne D, mais de toute façon, pourquoi vouloir recopier les données de la 1ère feuille sur la 2ème ? c'est inutile, et ça crée des données bêtement redondantes ! c'est beaucoup plus simple de faire la suite de ce que tu voulais faire directement à partir des données de la feuille "DONNEES" ; et là, il faut bien sûr tenir compte à la fois du nombre de colonnes variable et de leur longueur variable.

si tu choisis cette solution, alors sur la feuille "CALCULS", n'oublie pas de supprimer les colonnes A à D devenues inutiles, et ton ancienne colonne E sera en A.

à ce stade, y'a plus besoin d'faire un copier / coller des données de la 1ère feuille sur la 2ème ; et si tu veux une aide pour la suite de cet exercice, tu devrais joindre un exemple avec plus de données et les résultats attendus.

dhany

Merci d'avoir regarder Dhany et de m'avoir répondu.

En fait justement c'est parce que je veux mettre beaucoup de colonnes que j'ai créer la feuille "Données", dans mon ancien modèle c'est limité à 3 colonnes j'ai tout mis sur la même feuille donc c'est pas générique sa l'est juste pour la partie à partir de E seulement, parce que si tu rajoute des lignes de chiffres de A a C sa se rajoute dans E.

Comme tu dis je vais pas laisser les colonnes A a C dans la partie Calculs elles doivent venir de la partie Données, mais sa c'est pas un problème, ce que je veux c'est pouvoir selectionner automatiquement les cellules et que de lui même il colle la colonne A de la feuille Données dans la colonne E (Ou A mais après c'est facile c'est juste des cellules a changer) de Calculs puis je met le programme selecto (C'est un offset qui va me permettre de bien mettre a la suite) et le B se met a la suite de A puis C a la suite de B et ainsi de suite sans que moi j'ai besoin de faire comme dans ce que j'ai maintenant, j'ai un groupe de code pour chaque colonne.

Je bute sur la généralisation j'ai un problème avec sa j'arrive pas mdrr c'est assez complexe dans mon esprit pour formaliser sa, j'ai réussi a selectionner les colonnes active avec un bout de code mais après pour utiliser chaque colonne et automatiser chaque colonne pour quel se colle a la suite de E c'est le flou totale

Je te remercie pour t'es recherches Dhany, on m'a aider dans un autre sujet. Tout est résolu

Rechercher des sujets similaires à "soustraction colonne"