Complément d'une macro excel2007

Bonjour,

(Je bidouille sur excel, cherche beaucoup, mais apprend le basique lentement).

Déja aidé sur ce forum,

je recherche un complément.

Les colonnes D et E reçoivent,

1 ou 2, issus d'une macro.

(voir dans dans le fichier joint).

comment renvoyer automatiquement dès réception de 1 ou 2,

le résultat des cellules de F vers les cellules de la colonne A.

(Si l'on peut me dire ou trouver le bouton pour fermer un sujet résolu c bien aussi,)

C l'histoire du gars qui vient d'acheter un ordinateur qui appelle le vendeur pour apprendre à s'en servir.

Le vendeur lui décrit patiemment le bouton d'une commande à l'écran en haut à gauche.

le gars ne trouve pas et lui donne la marque de l'écran inscrite sur le cadre de l'écran .

le vendeur n'en pouvant plus lui dit gentiment,

Si vous n'avez pas jeté le carton dans lequel se trouvait l'écran,

remettez soigneusement le tout dedans,

et ...

ramenez tout, ... vous êtes trop C... pour vous en servir !!!

Bonjour

Les colonnes D et E reçoivent,

1 ou 2, issus d'une macro.

(voir dans dans le fichier joint).

comment renvoyer automatiquement dès réception de 1 ou 2,

le résultat des cellules de F vers les cellules de la colonne A.

J'aime bien l'histoire de ton gars, je trouve qu'il te ressemble

2020 04 05 18h31 01

Il faut savoir... c'est des 1 ou 2 ou des K et P

Merci pour ton indulgence !

c'est des 1 ou 2

Je me suis cassé la tête depuis 18 heures et approché Worksheet_Change,

mais je patine un maximum.

Bonsoir,

Merci de mettre le bon fichier avec le bon code alors

Ta demande est incompréhensible avec le fichier actuel

Bonjour à tous,

déjà ça devrait être :

Range("A" & i).Value = Range("F" & i).Value

à toi de le mettre où il faut car, comme dit Bruno, ce n'est pas très compréhensible.

Je ne vois aucun code qui inscrive quoique ce soit en D ou E ?!? Ca doit être l'heure et la fatigue...

eric

Oui en effet,

Je vous présente toutes mes excuses à BrunoM45 et Eriiic

et espère que c'est plus clair ci-dessous.

voir nouveau fichier joint.

Actuellement :

si la colonne D reçoit 2

ou la colonne E reçoit 1

la colonne F reçoit 0 (zéro)

Dès la réception de 0 dans F,

renvoyer 0 dans les cellules de la colonnes A et "pousser" automatiquement le bouton de la macro "nbre cellules vides",

exemple :

D3 reçoit 2,

F3 reçoit 0

donc :

A3 reçoit 0

le bouton est "déclenché"

B3 reçoit 1

(ceci afin de ne pas avoir à saisir manuellement 0 en A, chaque fois que se présente 1 ou 2 en D ou E, et devoir "manoeuvrer" le bouton.

Bonjour,

laisse tomber ton code et ton pseudo algorithme, et explique par des phrases ce que tu veux faire.

Dis où tu fais quelle saisie, et ce que tu veux dans telle ou telle cellule en conséquence.

Complète avec une feuille et tous les cas de figure, en mettant un fond vert sur celles à calculer, la valeur attendue et le pourquoi.

Et bannis de ton vocabulaire 'reçoit'. On ne sait pas si c'est une saisie ou non.

On verra bien s'il faut vraiment du vba, j'ai l'impression que de simples formules pourraient suffire.

eric

OK

Je peut faire mieux si on m’engueule (waouf)

En Feuille2

Chaque fois que les valeurs 1 et 2 issus d’une autre feuille se présentent en colonne D ou E,

=Feuil1!G3 =Feuille1 !H3

la colonne F marque 0.

=SI(OU(NB.SI(D3;"2");NB.SI(E3;"1"));"0";"")

Jusqu'à maintenant je dois saisir 1dans la colonne A (macro) chaque fois qu’il y a 0 dans la colonne F, et cliquer le bouton pour « déclencher » la macro.

(Celle-ci permet de calculer le nombre de cellules vides qu’il y a entre chaque 1 de la colonne A et de le faire apparaitre dans la colonne B).(la colonne B est reprise sur une autre feuille ='Feuil2'!B3)

Option Explicit

Dim valeur

Dim nb, i&

Sub NbreCellules()

nb = 1

valeur = InputBox("Nombres ente lesquels compter les vides :", "Nombre unique", 1)

Range("B2:B" & Range("A" & Rows.Count).End(xlUp).Row).ClearContents

For i = 2 To Range("A" & Rows.Count).End(xlUp).Row

If Range("A" & i) = "" Then

nb = nb + 1

ElseIf Range("A" & i) = Val(valeur) Then

Range("B" & i) = nb

nb = 1

End If

Next i

End Sub

Rarement vu autant d'erreurs de débutant qu'ici...

"1" est une chaine, 1 est un nombre ce qui est différent.

Remet l'option 'Afficher un zéro' qui n'a aucune raison d'être mise puisque c'est une info qui te sert.

F3 devient :

=SI(OU(NB.SI(D3;2);NB.SI(E3;1));0;"")

en A3 :

=SI(F3=0;1;"")

en B3 :

=SI(A3="";"";EQUIV(1;A4:A1000;0))

mettre pour A4:A1000 au moins l'écartement le plus important que tu puisses avoir entre 2 1

* mis A4:A22 dans le fichier, corrige si besoin

Si tu ne veux pas afficher tes zéros en C:D, soit en D3 :

=SI(Feuille1!G3>0;Feuille1!G3;"")

idem pour E3

Soit mettre le format personnalisé Standard;Standard;;@ sur ces colonnes

eric

PS : pourquoi demander pour le nombre de cellules vides (=1) alors que tu veux l'écart entre deux 1 (=2)

PS2 : à quoi te sert colonne A qui duplique sous une autre formez l'info présente en F ? Tu peux la supprimer et adapter en conséquence

j'ai pas bougé depuis ce matin 8h30 à me taper la tête et en essayant de comprendre selon les divers tutos.

J'ai pas encore épluché ta réponse et te répond spontanément pour te remercier de ta patience.

Je suis sur une grille excel que j'ai bricolé mais qui m'oblige à comprendre ce que je fait pour la faire évoluer.

Il semble donc que la macro a été remplacée.

Vraiment encore merci, je vais me plonger dedans.

ps : je sais toujours pas comment cliquer pour mentionner que le pb est résolu

Il n'y a plus de macro, que des formules comme je le pressentais.

eric

Eriiic,

Je voudrait pas ouvrir un sujet pour demander comment on le cloture,

peut tu me dire comment on fait pour "cliquer sujet résolu"

ça y est j'ai trouvé l'onglet de clôture du sujet

à+

Eriiic, j'ai un blème,

j'ai du manquer de précision dans mes explications.

Tout fonctionne nickel, sauf que le compte des cellules vides (espace) sont à l'envers.

j'ai saisie à droite le résultat qu'il me faudrait obtenir.

Dit moi si tu peut me consacrer encore le temps de cette modification.

Pierre.

1) Est-ce que tu peux avoir 1 et 2 sur une même ligne ?

2) Si maintenant tu veux le nombre de lignes vides +1 (oui, +1 !), pourquoi 2 en L2 ?

En toute logique ça devrait être 3

Et puis explique vraiment ce que tu as, ce que tu veux obtenir et ce que ça représente.

J'aime bien comprendre ce pour quoi je travaille, parce que là tu utilises tout un tas d'artifice pour passer ce qui étaient des obstacles pour toi, mais qui sont sans doute inutiles.

Donc tu as des nombres en Feuil1!G:H

3) Que représentent-ils ?

4) Et que cherches-tu à connaitre ?

Parce qu'à priori tes colonne A,C, D, E et F ne sont pas utiles dans l'autre feuille pour avoir B. Alors te servent-elles à autre chose ?

Eriiic, bonjour.

En fait tu met le doigt sur ce qui freine ta vision du machin que je suis en train de réaliser.

1) tu peut supprimer

  • colonne G en feuille1
  • et D2 en feuille2 si tu veux bien pour terminer cette phase.

2) je ne maîtrise absolument pas ce canal d'échange qu'est le Forum qui me semble très ouvert.

Si tu le souhaite je te communiquerais l'ensemble de mon "usine à gaz" d'une utilité "Très personnelle" si tu me communique un mail.

excuse, rectif :

et colonne D en feuille2

4 questions, 0 réponses, un fichier top secret.

Ca sent un peu trop l'inventeur génial qui a trouvé la martingale ultime mais qui ne sait pas où il va et change sa demande au fur et à mesure des résultats.

Désolé mais c'est suffisant pour que je m'arrête là.

Bon courage

eric

Tout de même,

Merci.

Rechercher des sujets similaires à "complement macro excel2007"