[ibizalo] macro s'exécutant tous les n lignes pour chaque colonne

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

ibizalo

XLDnaute Nouveau
bonjour,
je travail sur la mise en forme d'une série de donnée sous excel que je voudrais mettre en forme dans une autre feuille.
la macro que j'ai enregistré se trouve dans le fichier joint

je souhaites l’exécuter pour chaque colonne d'une autre feuille. mais ma boucle ne veut pas tourner.
quelqu'un aurait une idée.
merci d'avance
 

Pièces jointes

Re : [ibizalo] macro s'exécutant tous les n lignes pour chaque colonne

voici la macro que j'aimerais faire tourner

sub test_3()
'
' test_3 Macro
'

'
ActiveCell.FormulaR1C1 = "=Feuil1!R[-1]C"
Range("C2").Select
ActiveCell.FormulaR1C1 = "=Feuil1!R[9]C[-1]"
Range("D2").Select
ActiveCell.FormulaR1C1 = "=Feuil1!R11C1"
Range("H2").Select
ActiveCell.FormulaR1C1 = "=Feuil1!R[1]C[-6]"
Range("K2").Select
ActiveCell.FormulaR1C1 = "=Feuil1!R[2]C[-9]"
Range("L2").Select
ActiveCell.FormulaR1C1 = "=Feuil1!R[3]C[-10]"
Range("M2").Select
ActiveCell.FormulaR1C1 = "="
Range("M2").Select
ActiveCell.FormulaR1C1 = "=Feuil1!R[4]C[-11]"
Range("N2").Select
ActiveCell.FormulaR1C1 = "=Feuil1!R[5]C[-12]"
Range("O2").Select

End Sub
 
Re : [ibizalo] macro s'exécutant tous les n lignes pour chaque colonne

Bonjour Ibizalo, bonjour le forum,

Pas sûr d'avoir bien compris... Peut-être comme ça :
Code:
Sub test_2()
Dim ligne As Integer, colon As Integer
 
Sheets.Add After:=Sheets(Sheets.Count)
Range("A1").Value = "catégorie"
Range("B1").Value = "référence PFT"
Range("C1").Value = "ref. article"
Range("D1").Value = "désignation 1"
Range("E1").Value = "designation 2"
Range("F1").Value = "désignation 3"
Range("G1").Value = "famille technique"
Range("H1").Value = "clé de recherche"
Range("I1").Value = "statistique 0"
Range("J1").Value = "statistique 1"
Range("K1").Value = "longueur"
Range("L1").Value = "largeur"
Range("M1").Value = "hauteur"
Range("N1").Value = "rangement"
Range("O1").Value = "nb pose"
With Sheets("Feuil1")
    For colon = 2 To 4
        For ligne = 2 To 42 Step 15
            Cells(ligne, 2).Value = .Cells(1, colon)
            Cells(ligne, 3).Value = .Cells(11, colon)
            Cells(ligne, 4).FormulaR1C1 = "=Feuil1!R11C1"
            Cells(ligne, 8).Value = .Cells(3, colon)
            Cells(ligne, 11).Value = .Cells(4, colon)
            Cells(ligne, 12).Value = .Cells(5, colon)
            Cells(ligne, 13).Value = .Cells(6, colon)
            Cells(ligne, 14).Value = .Cells(7, colon)
            Range("O2").Select
        Next ligne
    Next colon
End With
End Sub
 
Re : [ibizalo] macro s'exécutant tous les n lignes pour chaque colonne

merci encore une fois ,
le problème c'est que les valeurs sont figés , j'aimerai que la macro s'exécute une fois sur chaque colonne tous les 15 lignes.
suis-je plus clair??
encore une fois merci
 
Re : [ibizalo] macro s'exécutant tous les n lignes pour chaque colonne

désolé, voici ce que je cherche à faire
Sub test_3()
'
' test_3 Macro
'
Dim ligne As Integer, colon As Integer

For ligne = 2 To 42 Step 15
for each no empty colums in sheets("feuil1")
Sheets("feuil2").Select
Cells(ligne, 2).Select
ActiveCell.FormulaR1C1 = "=Feuil1!R[-1]C"
Cells(ligne, 3).Select
ActiveCell.FormulaR1C1 = "=Feuil1!R[9]C[-1]"
Cells(ligne, 4).Select
ActiveCell.FormulaR1C1 = "=Feuil1!R11C1"
Cells(ligne, 8).Select
ActiveCell.FormulaR1C1 = "=Feuil1!R[1]C[-6]"
Cells(ligne, 11).Select
ActiveCell.FormulaR1C1 = "=Feuil1!R[2]C[-9]"
Cells(ligne, 12).Select
ActiveCell.FormulaR1C1 = "=Feuil1!R[3]C[-10]"
Cells(ligne, 13).Select
ActiveCell.FormulaR1C1 = "=Feuil1!R[4]C[-11]"
Cells(ligne, 14).Select
ActiveCell.FormulaR1C1 = "=Feuil1!R[5]C[-12]"
Range("O2").Select
Exit Do


Next
End Sub
 
Re : [ibizalo] macro s'exécutant tous les n lignes pour chaque colonne

Bonjnour Ibizalo, bonjour le forum,

Désolé je comprends rien à ce code. Il y a une boucle For non finalisée par un Next (si tu utilisais l'identation tu l'aurais vu de suite !). Un Exit Do qui sort de nulle part. Des Select en pagaille qui ne servent à rien sinon à ralentir le code :
Code:
Cells(ligne, 2).Select
        ActiveCell.FormulaR1C1 = "=Feuil1!R[-1]C"
est à bannir !
Code:
Cells(ligne, 2).FormulaR1C1 = "=Feuil1!R[-1]C"
suffit...

Et surtout un no empty columns qui d'une part n'existe pas dans la syntaxe mais surtout dont je ne comprends absolument pas le sens...
Ibizalo à dit:
le problème c'est que les valeurs sont figés , j'aimerai que la macro s'exécute une fois sur chaque colonne tous les 15 lignes.
suis-je plus clair??
Franchement non... Je te propose d'envoyer une second fichier exemple avec dans un onglet à part le résultat que tu souhaiterais obtenir après la macro.
 
Re : [ibizalo] macro s'exécutant tous les n lignes pour chaque colonne

Bonjour Ibizalo, bonjour le forum,

Essaie comme ça :
Code:
Sub test_2()
Dim li As Integer
Dim col As Integer
 
Sheets.Add After:=Sheets(Sheets.Count)
Range("A1").Value = "catégorie"
Range("B1").Value = "référence PFT"
Range("C1").Value = "ref. article"
Range("D1").Value = "désignation 1"
Range("E1").Value = "designation 2"
Range("F1").Value = "désignation 3"
Range("G1").Value = "famille technique"
Range("H1").Value = "clé de recherche"
Range("I1").Value = "statistique 0"
Range("J1").Value = "statistique 1"
Range("K1").Value = "longueur"
Range("L1").Value = "largeur"
Range("M1").Value = "hauteur"
Range("N1").Value = "rangement"
Range("O1").Value = "nb pose"
li = 2
With Sheets("Feuil1")
    For col = 2 To Sheets("Feuil1").Cells(4, Application.Columns.Count).End(xlToLeft).Column
        Cells(li, 2).Formula = "=Feuil1!" & Left(Cells(1, col).Address, Len(Cells(1, col).Address) - 1) & "1"
        Cells(li, 3).Formula = "=Feuil1!" & Left(Cells(1, col).Address, Len(Cells(1, col).Address) - 1) & "11"
        Cells(li, 4).Formula = "=Feuil1!A11"
        Cells(li, 8).Formula = "=Feuil1!" & Left(Cells(1, col).Address, Len(Cells(1, col).Address) - 1) & "3"
        Cells(li, 11).Formula = "=Feuil1!" & Left(Cells(1, col).Address, Len(Cells(1, col).Address) - 1) & "4"
        Cells(li, 12).Formula = "=Feuil1!" & Left(Cells(1, col).Address, Len(Cells(1, col).Address) - 1) & "5"
        Cells(li, 13).Formula = "=Feuil1!" & Left(Cells(1, col).Address, Len(Cells(1, col).Address) - 1) & "6"
        Cells(li, 14).Formula = "=Feuil1!" & Left(Cells(1, col).Address, Len(Cells(1, col).Address) - 1) & "7"
        li = li + 15
    Next col
ActiveSheet.Range("O2").Select
End With
End Sub
 
Re : [ibizalo] macro s'exécutant tous les n lignes pour chaque colonne

bonjour,
comme promis, j'ai dupliquer la macro sur toutes les autres lignes, et je suis plutôt satisfait de ce petit sub.(PS merci Robert).
je vous sollicite pour une autre affaire
à savoir , comment traduire la suppression d'une ligne , si la valeur lue est "" vide ou zero 0.
quelqu'un a une idée???
merci
 
Re : [ibizalo] macro s'exécutant tous les n lignes pour chaque colonne

Bonjour le fil, bonjour lwe forum,

Peut-être comme ça :
Code:
Sub sup_ligne()
Dim i As Byte
Sheets("Feuil14").Select
For i = 250 To 1 Step -1
    If Cells(i, 3).Value = 0 Or Cells(i, 3).Value = "" Then Rows(i).Delete
Next
End Sub
 
Re : [ibizalo] macro s'exécutant tous les n lignes pour chaque colonne

merci pour la correction,
par contre si je veux commencer à partir de la dernière colonne non vide , l'instruction:
for i =activeSheets.Cells(1, Application.rows.Count).End(xlToup).row To 1 Step -1
ne fonctionne pas .quelqu'un a une idée
 
Re : [ibizalo] macro s'exécutant tous les n lignes pour chaque colonne

Bonjour le fil, bonjour le forum,

Ça t'arrive de regarder l'aide VBA ?
for i =activeSheets.Cells(1, Application.rows.Count).End(xlToup).row To 1 Step -1
Essaie comme ça :
Code:
For i = ActiveSheet.Cells(1, Application.Columns.Count).End(xlToLeft).Column To 1 Step -1
 
- 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
4
Affichages
232
Réponses
7
Affichages
373
Réponses
14
Affichages
743
Retour