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

optimisation de code

  • Initiateur de la discussion Initiateur de la discussion hidozo
  • Date de début Date de début

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 !

hidozo

XLDnaute Occasionnel
Bonjour,

J'ai écrit ce code qui fonctionne car je n'ai pas réussi à l'écrire de façon plus optimisé avec des For next...

Est-ce que quelqu'un pouurait m'aider ?

derligAction = [H65000].End(xlUp).Row + 1
derligPièce = [I5000].End(xlUp).Row + 1
derligMatériel = [J65000].End(xlUp).Row + 1
derligTravMicro = [K65000].End(xlUp).Row + 1
derligtravmacro = [L65000].End(xlUp).Row + 1
derligzonepré = [M65000].End(xlUp).Row + 1
derligZoneDépose = [N65000].End(xlUp).Row + 1
derligDéplacement = [O65000].End(xlUp).Row + 1

'actions
Cells(derligAction, 8) = Me.carac1 & " "
'pièces
Cells(derligPièce, 9) = Me.carac2 & " "
Cells(derligPièce + 1, 9) = Me.carac3 & " "
Cells(derligPièce + 2, 9) = Me.carac4 & " "
Cells(derligPièce + 3, 9) = Me.carac5 & " "
'matériel
Cells(derligMatériel, 10) = Me.carac6 & " "
Cells(derligMatériel + 1, 10) = Me.carac7 & " "
Cells(derligMatériel + 2, 10) = Me.carac8 & " "
Cells(derligMatériel + 3, 10) = Me.carac9 & " "
'Zone travail micro
Cells(derligTravMicro, 11) = Me.carac10 & " "
Cells(derligTravMicro + 1, 11) = Me.carac11 & " "
'zone travail macro
Cells(derligtravmacro, 12) = Me.carac12 & " "
Cells(derligtravmacro + 1, 12) = Me.carac13 & " "
'zone préhension
Cells(derligzonepré, 13) = Me.carac14 & " "
Cells(derligzonepré + 1, 13) = Me.carac15 & " "
Cells(derligzonepré + 2, 13) = Me.carac16 & " "
Cells(derligzonepré + 3, 13) = Me.carac17 & " "
'zone dépose
Cells(derligMatériel, 14) = Me.carac18 & " "
Cells(derligMatériel + 1, 14) = Me.carac19 & " "
Cells(derligMatériel + 2, 14) = Me.carac20 & " "
Cells(derligMatériel + 3, 14) = Me.carac21 & " "
'zone déplacement
Cells(derligMatériel, 15) = Me.carac22 & " "
Cells(derligMatériel + 1, 15) = Me.carac23 & " "

End Sub
 
Re : optimisation de code

Salut Hidozo,

Tu n'aurais pas la possibilité de nous joindre ton fichier sur le forum !?

Sinon, question :
Code:
derligAction = [H65000].End(xlUp).Row + 1
derligPièce = [I5000].End(xlUp).Row + 1
derligMatériel = [J65000].End(xlUp).Row + 1
derligTravMicro = [K65000].End(xlUp).Row + 1
derligtravmacro = [L65000].End(xlUp).Row + 1
derligzonepré = [M65000].End(xlUp).Row + 1
derligZoneDépose = [N65000].End(xlUp).Row + 1
derligDéplacement = [O65000].End(xlUp).Row + 1
Ca veut dire que tu peux inscrire une action sur une ligne différente d'une pièce qui peut être différente du matériel, etc ...

Ou à chaque fois les informations sont sur la même ligne !?

A+
 
Re : optimisation de code

Bonjour,

non, j'ai une colonne pour l'action
une pour les pièces, etc

mais pour les pièces, j'ai 4 textbox et donc dans la saisie je voudrais que les 4 textbox pièces se collent dans la même colonne

les lignes derlig... me permettent de copier les valeurs des textbox dans la 1ere cellule vide de chaque colonne

Malheureusement, je ne peux pas joindre le fichier il est trop gros.

Cordialement
 
Re : optimisation de code

Re,

Sans fichier, c'est difficile, mais tu peux essayer ça

Code:
  Dim I As Integer, NbVal As Integer, NumVal As Integer
  Dim TabC As Variant
  Dim DerLig As Long
  ' Créé un tableau du nombre de "carac" pour chaque colonne
  TabC = Split("1,4,4,2,2,4,4,2", ",", -1)
  ' Pour chaque valeur contenue dans le tableau
  For NumVal = 1 To UBound(TabC)
    ' Récupère le nombre de "carac" pour chaque indice
    NbVal = TabC(NumVal)
    ' Pour le nombre de fois
    For I = 1 To NbVal
      ' Trouve la dernière ligne
      DerLig = Cells(Rows.Count, 7 + I).End(xlUp).Row + 1
      ' Inscrit la valeur contenu dans "caracX"
      Cells(DerLig, 7 + I) = Me("carac" & NumVal + I - 1) & " "
    Next I
  Next NumVal

A+
 
- 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
5
Affichages
914
Réponses
15
Affichages
788
Réponses
4
Affichages
735
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
452
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…