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

VBA probleme macro

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

S

s1nakata

Guest
Bonjour je debute en vba et je bute sur une macro :s

Cela est censé copier 1 tableau verticale de la feuille 1 dans un tableau horizontale de la feuille 2
cela fonctionne au rang 1 mais je n'arrive pas a incrementer les variables :s

Au rang 1 il copie la selection D5: D12 de la feuille 2 pour la copier a B2:B9 de la feuille 1
la selection de la feuille 2 change de ligne et la selection de la feuille 1 se deplace de une colonne
J espere que c'est comprehensible 🙂

voila la macro concerné


Dim adrdepvert, adrarrvert As Variant
adrdepvert = 4
adrarrvert = 5
Dim finrangevert As Integer
finrangevert = 12
Dim a, b As Integer
a = 2
b = 2

For i = finrangevert To 39 Step 9
For k = adrarrvert To 32 Step 9
For j = b To 5

Sheets("Feuil2").Select
Range(Cells(adrarrvert, adrdepvert), Cells(finrangevert, adrdepvert)).Select


' Range(Cells(5, 4), Cells(12, 4)).Select

Selection.Copy

Sheets("Feuil1").Select


Cells(2, b).Select

ActiveSheet.Paste
Next j
Next k
Next i


End Sub
 
Re : VBA probleme macro

salut

dans tes boucles tu n'utilises jamais tes compteurs, c'est normal?
au final
Code:
For i = finrangevert To 39 Step 9
For k = adrarrvert To 32 Step 9
For j = b To 5

Sheets("Feuil2").Select
Range(Cells(adrarrvert, adrdepvert), Cells(finrangevert, adrdepvert)).Select


[B]' Range(Cells(5, 4), Cells(12, 4)).Select

Selection.Copy

Sheets("Feuil1").Select[/B]


Cells(2, b).Select

ActiveSheet.Paste
Next j
Next k
Next i
au final tu ne fais que copier coller
Code:
 Range(Cells(5, 4), Cells(12, 4)).[\code]
@+
 
Re : VBA probleme macro

adrdepvert = 4
adrarrvert = 5
Dim finrangevert As Integer
finrangevert = 12
Dim a, b As Integer
a = 2
b = 2

For i = finrangevert To 39 Step 9
For k = adrarrvert To 32 Step 9

For j = b To 5

Sheets("Feuil2").Select
Range(Cells(adrarrvert, adrdepvert), Cells(finrangevert, adrdepvert)).Select

Selection.Copy

Sheets("Feuil1").Select


Cells(2, b).Select

ActiveSheet.Paste
Next j
Next k
Next i


End Sub



en fait ' Range(Cells(5, 4), Cells(12, 4)).Select
était écris en vert donc ne compter pas
 
Re : VBA probleme macro

voila mon code remis à jour ^^


Sub importbcle()


Dim adrdepvert, adrarrvert, adrdephoriz, adrarrhoriz As Variant


adrarrvert = 5
Dim finrangevert As Integer
finrangevert = 12
Dim b As Integer
b = 2

For k = adrarrvert To 32 Step 9

Sheets("Feuil2").Select
Range(Cells(k, 4), Cells(k + 7, 4)).Select
Selection.Copy



For j = b To 5

Sheets("Feuil1").Select


Cells(2, j).Select

ActiveSheet.Paste
Next j
Next k


End Sub
 
Re : VBA probleme macro

Bonjour le fil, bonjour le forum,

S1nakata tu te compliques la vie avec des variables qui ne te servent à rien (apparemment car je n'ai pas tous tes codes). Regarde ta dernière proposition épurée :

Code:
Sub importbcle()
Dim k As Byte, j As Byte
For k = 5 To 32 Step 9
    Sheets("Feuil2").Select
    Range(Cells(k, 4), Cells(k + 7, 4)).Copy
    For j = 2 To 5
        Sheets("Feuil1").Select
        Cells(2, j).Select
        ActiveSheet.Paste
    Next j
Next k
End Sub
 
Dernière édition:
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
4
Affichages
733
Réponses
15
Affichages
784
Réponses
4
Affichages
281
Réponses
5
Affichages
911
Réponses
8
Affichages
390
Réponses
8
Affichages
780
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…