Raccourcir une formule

zeltron24

XLDnaute Impliqué
Bonsoir à tous,

J'ai un petit souci de formule, dont voici le code :
Code:
Dim r As Range
Dim n As Byte

' Les Produits
Set r = su.Columns(2).Find(Me.CmbAfficher.Value, , xlValues, xlWhole)
If Not r Is Nothing Then
    test = True
    st.Range("A22").Value = r.Offset(0, 1)
    st.Range("A23").Value = r.Offset(1, 1)
    st.Range("A24").Value = r.Offset(2, 1)
    st.Range("A25").Value = r.Offset(3, 1)
    st.Range("A26").Value = r.Offset(4, 1)
    st.Range("A27").Value = r.Offset(5, 1)
    st.Range("A28").Value = r.Offset(6, 1)
    st.Range("A29").Value = r.Offset(7, 1)
    st.Range("A30").Value = r.Offset(8, 1)
    st.Range("A31").Value = r.Offset(9, 1)
    st.Range("A32").Value = r.Offset(10, 1)
    st.Range("A33").Value = r.Offset(11, 1)
    .......
    st.Range("A55").Value = r.Offset(22, 1)
End If
(Diminué pour la cause)
Voilà, je souhaiterai trouver un code moins long si cela est faisable. Le but étant de recopié les valeurs de la colonne A22 à A55 dans une autre feuille. Cette formule marche bien mais j'ai 3 colonnes à recopier.
 

zeltron24

XLDnaute Impliqué
Re : Raccourcir une formule

Bonsoir à tous et à Staple1600 en particulier.

Je souhaiterai savoir si tu as eu le temps de te pencher sur mon "cas". Je constate que tu es très pris sur d'autres fils et comprendrait très bien que tu n'ai pas eu le temps.
De mon coté j'ai essayé, modifié, transformé, bref pataugé sur la mise en place de ton code mais toujours sans y réussir. tu me diras que tu n'es pas étonné, vu mon incompétence à comprendre ledit code.
Sur ce je te souhaite un bon weekend.
A+
 

zeltron24

XLDnaute Impliqué
Re : Raccourcir une formule

Re

J'approche du but avec ce code.
Code:
Private Sub CmbAfficher_Change()
Dim r As Range
Dim rg As Integer
Dim rd As Integer
Dim q As Integer
Dim n As Integer
Dim x As Byte
'Dim pl&, dl&

x = CmbAfficher.Value               ' Sélection du ticket

Set su = Sheets("Suivi")
Set st = Sheets("Horaires")
st.Range("K50") = "Oui"             ' Réédition d'un Ticket

' Affichage du ticket
Set r = su.Columns(2).Find(x, , xlValues, xlWhole)
If Not r Is Nothing Then
    test = True
    n = 0
    rg = 22                         ' Commencement en A22
    q = r.Offset(0, 9)              ' Nombre d'articles
    rd = rg + q

    While n <= q
    st.Range("A" & rg).Value = r.Offset(n, 1)
    rg = rg + 1
    n = n + 1
    Wend
end if

end sub
Le souci est que j'ai une ligne vide et donc la dernière valeur du Prix unit me met l'erreur #N/A
 

zeltron24

XLDnaute Impliqué
Re : Raccourcir une formule

Re,

EUREKA, Après des heures de recherche je suis parvenu à trouver la solution.

Code:
    st.Range("A" & rd).Value = ""
A insérer après Wend et cela fonctionne.

Il me reste maintenant à trouver la solution du calcul des heures d'ouverture en temps réel.
CaD que l'heure qui change en temps réel en F2 ne me permet pas de calculer les heures d'ouverture et de fermeture.
Mon souhait étant d'avoir en temps réel l'état d'ouverture ou de fermeture du magasin.(Colonne D6 à D18 E6 à E18)
Mais est ce possible:confused:
 

Si...

XLDnaute Barbatruc
Re : Raccourcir une formule

salut

il y a quelques jours (et des lunes) je m'étais amusé -formation personnelle oblige - à reprendre le sujet mais à ma sauce*.

Voir Si... quelques ingrédients peuvent être utilisés.

Je n'ai pas testé la partie sauvegarde**. En cas de dysfonctionnement et si elle est amenée à être utilisée, je pourrai essayé de la revoir.

* par exemple, le clignotement, la multiplication des informations et des actions sur une seule feuille ... me gênaient.
** passé trop de temps à préparer ma feuille d'explications
 

Pièces jointes

  • Horaires V1 .xlsm
    98.6 KB · Affichages: 48

Staple1600

XLDnaute Barbatruc
Re : Raccourcir une formule

Bonsoir Si...

Si...
Merci il était temps ;)
J'espère qu'ils se manifesteront avant que je me mette en branle sur ton userform ;)
Sauf que maintenant , le temps libre ainsi libéré, je vais devoir l'employer à regarder ton ouvrage.
Je suppute que cela sera riche d'enseignement, mais Morphée passera avant toi ce soir ;)

zeltron24
Tu as encore perdu tes lunettes ?
Ou c'est juste que tu n'as pas envie de me répondre ?
(J'attends ta réponse depuis le message #49, et sans elle je ne saurai avoir un sommeil serein et réparateur)
 

zeltron24

XLDnaute Impliqué
Re : Raccourcir une formule

Re,
Je pense que tu devrais toi aussi mettre des lunettes. voir mon #48;)
Je n'ai pas dit que c'était toi qui a dit "mon Incompétence" c'est moi qui me le suis attribué.
 
Dernière édition:

Jacou

XLDnaute Impliqué
Re : Raccourcir une formule

Bonsoir zeltron, bonsoir Staple1600, bonsoir le forum
zeltron
regarde STP la modification que j'ai faite dans ta macro CmbAfficher_Change() pour répondre à ta demande initiale de simplication.
On pourrait même simplifier encore plus :
Set r = su.Columns(2).Find(Me.CmbAfficher.Value, , xlValues, xlWhole)If Not r Is Nothing Then
test = True
For i = 0 To 22
' Les Produits
st.Range("A22").Offset(i, 0).Value = r.Offset(i, 1)
' La Quantité
st.Range("C22").Offset(i, 0).Value = r.Offset(i, 2)
Next i
End If

Je vous souhaite une bonne nuit :)

Edit :
bonsoir à Si.. aussi bien sûr :eek:
 

Pièces jointes

  • Horaire Magasin zeltron.xlsm
    126.1 KB · Affichages: 39
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : Raccourcir une formule

Bonjour à tous, bonjour Jacou

zeltron24
Tu vois, en prenant le temps, les petits camarades se joignent à la fête.

[fin de l'aparté]
Sinon explique moi comment tu peux répondre dans le 48 à une question née dans le 49 ?
Et ma question reste sans réponse...;)
Ce que je voulais dire par là c'est que je n'ai jamais considéré un utilisateur débutant ou moins aguerri que moi comme incompétent.
Et faire de l'ironie, ou titiller l'xldnaute amicalement ce n'est pas le déconsidérer ;)
Re,
Je pense que tu devrais toi aussi mettre des lunettes. voir mon #48;)
Je n'ai pas dit que c'était toi qui a dit "mon Incompétence" c'est moi qui me le suis attribué.
[/fin de l'aparté]
 

zeltron24

XLDnaute Impliqué
Re : Raccourcir une formule

Bonjour Staple1600, Jacou,Si et le Forum

Je ne répondais pas à ton fil #49, je voulais te faire remarquer que j'utilisé en fil #48
mon incompétence
pour moi. En aucun cas j'ai voulu dire ou faire comprendre que c'est toi qui le disais.
Tu as mal lu mon fil.
Bon si tu as cru cela je te présente mes plus plates excuses.
J'espère que tu as passé une bonne nuit.
Fin de l'imparté.;)

J''aurai voulu avoir ton avis de PRO sur le code que j'ai mis avec la boucle While.
qui fonctionne correctement.
Merci Jacou pour ton aide.
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : Raccourcir une formule

Re

zeltron24
Mon avis de quoi ? PRO
Je ne suis pas du tout un professionnel et Jean-Paul n'est pas mon prénom. (Oui c'est faible, je sais)
J'ai juste plus d'heures que toi au compteur d'Excel.
Pour le moment je m'en vais voir l'ouvrage de Si... qui lui (je ne sais pas ce qu'il est ;) mais je sais sa méticulosité et j'apprécie son code épuré) me semble plus pro que moi pour te donner son avis ;)

NB: Je te rappelle que normalement le forum est peuplé de bénévoles.
Les professionnels, ceux qui se lèvent tôt, n'ont pas le temps de trainer sur les forums, voyons. ;)

EDITION: Qu'est-ce que je disais ! Je viens d'ouvrir la PJ de Si...
Je ne commenterai pas le Beau. J'admire c'est tout

Par contre, le choix des couleurs n'est pas celui que j'aurai fait.
J'ai une petit réticence sur le rouge qui irrite l'oeil
http://www.ophtalmologie.fr/fatigue-visuelle-yeux.html
http://www.ophtalmologie.fr/fatigue-visuelle-yeux.html
Heureusement, j'ai le nez fourré le plus souvent dans VBE, pour éxiler ma peur comme Jeanne M.
(oui je sais c'est toujours aussi faible)

Et comme disait en 64, dans les Abruzzes, Tante Hortense: "les gouts et les couleurs..."
 
Dernière édition:

zeltron24

XLDnaute Impliqué
Re : Raccourcir une formule

Re,

sur le code que j'ai mis avec la boucle While.
Voir #52

Serais tu un tant soit peu suceptible, je sens une certaine pointe d'amertume dans ton dernier post.
Je voulais simplement mettre ton EGO en valeur.
Histoire de flatter mon égo, il faudrait plutôt écrire à la place de
post#34

Jean-Paul n'est pas mon prénom
I do not understand ;)

Je ne veux pas faire de toi un ennemi, bien au contraire j'aprécie ton aide avec beaucoup d'attention ainsi que celle des bénévoles.:rolleyes:
 

Staple1600

XLDnaute Barbatruc
Re : Raccourcir une formule

Re

zeltron24
Relis mon message.
Il n'y a pas d'amertume.
Juste ma prose du matin (avec ci et là quelques pointes d'humour)
qui cette fois-ci sont plus à destination de Si...

Pour résumer, je voulais juste dire que je ne suis pas pro, c'est tout.
Et que ce qui nous distingue c'est que j'utilise Excel depuis plus longtemps que toi et suis inscrit sur le forum depuis plus longtemps aussi.

[decryptage de ma prose]
PRO
Professionnel
Le Professionnel (le film)
Acteur: Jean-Paul Belmondo

ROUGE
En rouge et noir
Chanson
Jeanne Mas
Extrait parole
En rouge et noir, j'exilerai ma peur
J'irai plus haut que ces montagnes de douleur
[/decryptage de ma prose]
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 187
Messages
2 086 024
Membres
103 097
dernier inscrit
Benduch