racourcir un code avec des for next

pascal21

XLDnaute Barbatruc
bonsoir le forum
je cherche le moyen de faire court et efficace pour ces deux codes là
Code:
Label2.Caption = Sheets(1).Range("b1").Value
Label3.Caption = Sheets(2).Range("b1").Value
Label4.Caption = Sheets(3).Range("b1").Value
Label5.Caption = Sheets(4).Range("b1").Value
Label6.Caption = Sheets(5).Range("b1").Value
Label7.Caption = Sheets(6).Range("b1").Value
Label8.Caption = Sheets(7).Range("b1").Value
Label9.Caption = Sheets(8).Range("b1").Value
Label10.Caption = Sheets(9).Range("b1").Value
Label11.Caption = Sheets(10).Range("b1").Value
Code:
For i = 1 To 10
Sheets(i).Range("m4").Value = Range("e4").Value
sachant que pour le 2eme je cherche à copier la cellule e4 vers m4; e11 vers m11; e18 vers m18; e25 vers m25 et e32 vers m32
je ne sais pas comment faire dans ce cas là
merci
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : racourcir un code avec des for next

Bonsoir

A essayer
Code:
For i= 2 to  11
Me.Controls("Label" & i)=Sheets(i-1).Range("B1").Value
Next i

A la place de:

Label2.Caption = Sheets(1).Range("b1").Value
Label3.Caption = Sheets(2).Range("b1").Value
Label4.Caption = Sheets(3).Range("b1").Value
Label5.Caption = Sheets(4).Range("b1").Value
Label6.Caption = Sheets(5).Range("b1").Value
Label7.Caption = Sheets(6).Range("b1").Value
Label8.Caption = Sheets(7).Range("b1").Value
Label9.Caption = Sheets(8).Range("b1").Value
Label10.Caption = Sheets(9).Range("b1").Value
Label11.Caption = Sheets(10).Range("b1").Value
 

ninbihan

XLDnaute Impliqué
Re : racourcir un code avec des for next

Bonsoir Pascal et Stapple,


Et pour la deuxième boucle pourquoi pas :
Code:
For i = 1 To 6
Sheets(i).Range("m" & ((i - 1) * 7) + 4).Value = Range("e" & ((i - 1) * 7) + 4).Value
Next i

A tester,

Bonne soirée,

Ninbihan
 

pascal21

XLDnaute Barbatruc
Re : racourcir un code avec des for next

Code:
Dim derLig As Long
derLig = Range("m" & Cells.Rows.Count).End(xlUp).Row
For a = 12 To 21
Me.Controls("label" & a) = Sheets(a - 11).Range("m" & derLig).Value
Next a
End Sub
bonjour
ce bout de code doit en principe me donner dans des labels 12 à 21 la derniere cellule non vide de chaque feuilles (10)
mais ça ne fonctionne pas comme je le voudrais, puisque ça me donne toujours la derniere cellule de la feuille 1 et cela sur tout les labels
ou peut se trouver l'erreur
merci
 

Pierrot93

XLDnaute Barbatruc
Re : racourcir un code avec des for next

Bonjour Pascal

essaye en modifiant ton code comme suit :

Code:
Sub test()
Dim a As Byte
For a = 12 To 21
    Me.Controls("label" & a) = _
        Sheets(a - 11).Range("M" & Sheets(a - 11).Range("M65536").End(xlUp).Row).Value
Next a
End Sub

bon après midi
@+
 

pierrejean

XLDnaute Barbatruc
Re : racourcir un code avec des for next

bonjour a tous et a Pierrot :)

je me permet de confirmer que cela devrait fonctionner

mais je simplifierai quand même un peu :

Code:
Sub test()
Dim a As Byte
For a = 12 To 21
    Me.Controls("label" & a) = _
        Sheets(a - 11).Range("M65536").End(xlUp).Value
Next a
End Sub
 

pascal21

XLDnaute Barbatruc
Re : racourcir un code avec des for next

bonjour jeanpierre oupsss pierrejean
bon alors je vais cherhcer ailleurs dans les codes il est possible qu'il y est une erreur quelque part surtout si ça fonctionne chez vous
 
Dernière édition:

pascal21

XLDnaute Barbatruc
Re : racourcir un code avec des for next

Code:
Sheets(1).Range("m4").Value = Range("e4").Value
Sheets(2).Range("m4").Value = Range("e4").Value
Sheets(3).Range("m4").Value = Range("e4").Value
Sheets(4).Range("m4").Value = Range("e4").Value
Sheets(5).Range("m4").Value = Range("e4").Value
Sheets(6).Range("m4").Value = Range("e4").Value
Sheets(7).Range("m4").Value = Range("e4").Value
Sheets(8).Range("m4").Value = Range("e4").Value
Sheets(9).Range("m4").Value = Range("e4").Value
Sheets(10).Range("m4").Value = Range("e4").Value

Sheets(1).Range("m11").Value = Range("e11").Value
Sheets(2).Range("m11").Value = Range("e11").Value
Sheets(3).Range("m11").Value = Range("e11").Value
Sheets(4).Range("m11").Value = Range("e11").Value
Sheets(5).Range("m11").Value = Range("e11").Value
Sheets(6).Range("m11").Value = Range("e11").Value
Sheets(7).Range("m11").Value = Range("e11").Value
Sheets(8).Range("m11").Value = Range("e11").Value
Sheets(9).Range("m11").Value = Range("e11").Value
Sheets(10).Range("m11").Value = Range("e11").Value

Sheets(1).Range("m18").Value = Range("e18").Value
Sheets(2).Range("m18").Value = Range("e18").Value
Sheets(3).Range("m18").Value = Range("e18").Value
Sheets(4).Range("m18").Value = Range("e18").Value
Sheets(5).Range("m18").Value = Range("e18").Value
Sheets(6).Range("m18").Value = Range("e18").Value
Sheets(7).Range("m18").Value = Range("e18").Value
Sheets(8).Range("m18").Value = Range("e18").Value
Sheets(9).Range("m18").Value = Range("e18").Value
Sheets(10).Range("m18").Value = Range("e18").Value
re
visiblement ce code pose problème
en effet ça semble recopier la cellule e18 mais de la feuil1 et ce, sur toutes les autres feuilles
 

Pierrot93

XLDnaute Barbatruc
Re : racourcir un code avec des for next

Re

normal puisque le nom de la feuille n'est pas précisée, c'est soit la feuille active ou bien la feuille ou se trouve le code, modifies comme suit :

Code:
Sheets(1).Range("m4").Value = Sheets("nomfeuille").Range("e4").Value

@+
 

Statistiques des forums

Discussions
312 149
Messages
2 085 772
Membres
102 970
dernier inscrit
JMaurice