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

For each avec traitement verticale

  • Initiateur de la discussion Initiateur de la discussion fifi
  • 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 !

fifi

XLDnaute Occasionnel
Bonsoir le forum,

tout va bien , pas de problème encore pour ce soir.

sauf que pour aller plus vite dans le traitement d'une plage de cellule, je voulais utiliser cette macro

Code:
For Each c In Range("extraction_plate_cplt")
        If c.Interior.ColorIndex = 35 Then c.Value = Sheets("table").Cells(ligne_nom + I, col_nom).Value
        I = I + 1

mais voila que le traitement des cellules se fait en ligne.
Peut on faire pour que le traitement des cellules ce fasse verticalement ? :/

sinon je ne vois que le passage par une double boucle

Code:
For I=1 to X
  For Y=1 to Z
  next Y 
next I
 
Re : For each avec traitement verticale

la plage que je veux remplir fait 8lignes sur 12 colonne
je veux la remplir d'une liste de noms

mais le remplissage se faite de gauche a droite en commençant par la première ligne = traitement horizontale

mais je voulais que le remplissage se fait de haut en bas en commençant par la colonne de gauche= traitement verticale

🙂
 
Re : For each avec traitement verticale

j'ai ce code qui marche mais j'ai l'impression que c'est plus long :

(affichage, events et calculs désactivés)

Code:
    For Y = 1 To 12
        For I = 1 To 8
            If Cells(I + 4, Y + 2).Interior.ColorIndex = 35 Then Cells(I + 4, Y + 2).Value = Sheets("table").Cells(ligne_nom + Z, col_nom).Value
            Z = Z + 1
        Next I
    Next Y


moi joli qu'un for each ...je trouve
 
Re : For each avec traitement verticale

Bonsoir fifi et Pascal, bonsoir à toutes et à tous 🙂


Si ton affichage est désactivé, pourquoi vouloir un remplissage de ton tableau par colonne ???

@+
 
Re : For each avec traitement verticale

la désactivation de l'affichage, des events et calculs n'a pas de rapport c'est juste pour accélérer le traitement, . le classeur fait 4Mo et il y a pas mal de formule et macro événementiels.


la liste de noms peut ne pas faire 96 cellules (8*12) , du coup je voulais que ma plage se remplisse de haut en bas et de gauche a droite pour faciliter la lecture et surtout l'utilisation de la plage.

mais il semble qu'il n'y ait pas d'option pour que le For each fasse le boulot dans le bon sens, enfin mon sens ^^.
 
Re : For each avec traitement verticale

Bonsoir


Pourquoi de pas utiliser d'Array ?


Voici un exemple d'utilisation de tableau

Code:
Sub test()
Dim t(1 To 8, 1 To 12), i&, j&
For i = 1 To 8
    For j = 1 To 12
        t(i, j) = i * j
    Next
Next
[A1:L8] = t
End Sub
 
Re : For each avec traitement verticale

Re

Si vraimetn tu cherches la rapidité le plus rapide est de mettre ton résultat dans une variable tableau et ensuite de collet ton tableau dans ta feuille
 
Re : For each avec traitement verticale

re

si tu fais une petite recherche sur le forum tu trouveras un fil assez ancien où on s'était amusé à faire la macro la plus rapide et tu auras dedans des exemples de tableaux de variables utilisés et il n'y avait pas photo
 
Re : For each avec traitement verticale

Salut,

si "Each" te plait, tu peux essayer :
Code:
For Col = 3 To 14
    For Each C In Range(Cells(5, Col), Cells(12, Col))
      If C.Interior.ColorIndex = 35 Then
        C.Value = Sheets("table").Cells(ligne_nom + Li, col_nom).Value
        Li = Li + 1
      End If
    Next
  Next
à toi de tester avec ton fichier pour la rapidité !
 
- 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
928
Réponses
5
Affichages
579
  • Question Question
Microsoft 365 affichage userform
Réponses
4
Affichages
524
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…