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

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.
 

Staple1600

XLDnaute Barbatruc
Re : Raccourcir une formule

Re

zeltron24
Mise au point
Juste une mise au point
Sur les plus belles images de ma vie
Sur les clichés trop pâles d'une love-story
Sur les tam-tams d'une femme sans alibi
Qui rêve toutes ses nuits
j'ai ajouté des explications dans l’édition du précédent message

Bon et si on revenait à Excel?

Tu as d'autres questions sous le coude ?

Finalement quel code VBA tu vas utiliser ?
 

Si...

XLDnaute Barbatruc
Re : Raccourcir une formule

salut

les acteurs,
c'est l’entracte donc moment de détente et pub personnelle (admise par la censure )

dédié à JPle1600 qui châtie bien quand il aime

Mais je ne me prénomme pas Rocco même pas Si..., n'est-ce pas JP toi qui jouait avec lui et ses frère !
 
Dernière édition:

zeltron24

XLDnaute Impliqué
Re : Raccourcir une formule

Re,

J'utilise le code avec la fonction while donc voici le fichier joint avec les modifs cela fonctionne mais si tu vois un bug je serai heureux d'avoir ton aide.
J'y ai incorporé les modifs de SI.
 

Pièces jointes

  • Horaire Magasin.xlsm
    144.2 KB · Affichages: 42
  • Horaire Magasin.xlsm
    144.2 KB · Affichages: 43
  • Horaire Magasin.xlsm
    144.2 KB · Affichages: 48

zeltron24

XLDnaute Impliqué
Re : Raccourcir une formule

Bonsoir le Forum

Code:
.Cells(Rows.Count, 3).End(3)(2).Row
Pourrais je avoir une explication sur cette ligne de code.
J'ai rajouté une colonne afin d'inscrire l'heure, mas le souci est que la quantité d'article s'inscrit en dessous du numéro du ticket.
Les autres valeurs ça va j'ai trouvé.
 

Staple1600

XLDnaute Barbatruc
Re : Raccourcir une formule

Bonsoir

zeltron24
Equivaut à
Cells(Rows.Count,3).End(xlUp).Offset(1,0)

Et cela permet d'identifier la première cellule vide d'un colonne en partant de la fin.

Testes cette macro sur un classeur vide pour t'en convaincre
Code:
Sub test()
Range("C1:C27") = Rnd
MsgBox Cells(Rows.Count, 3).End(3)(2).Address
MsgBox Cells(Rows.Count, 3).End(xlUp).Offset(1, 0).Address
End Sub
 
Dernière édition:

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…