Effectuer une boucle via VBA
Fermé
weziaw
Messages postés
2
Date d'inscription
lundi 10 novembre 2014
Statut
Membre
Dernière intervention
10 novembre 2014
-
Modifié par weziaw le 10/11/2014 à 15:18
weziaw Messages postés 2 Date d'inscription lundi 10 novembre 2014 Statut Membre Dernière intervention 10 novembre 2014 - 10 nov. 2014 à 16:07
weziaw Messages postés 2 Date d'inscription lundi 10 novembre 2014 Statut Membre Dernière intervention 10 novembre 2014 - 10 nov. 2014 à 16:07
A voir également:
- Effectuer une boucle via VBA
- Vba ouvrir un fichier excel avec chemin ✓ - Forum VB / VBA
- Impossible d'envoyer le message via free erreur 0 - Forum Samsung
- Vba écrire dans une cellule ✓ - Forum Excel
- Vba attendre 1 seconde ✓ - Forum VB / VBA
2 réponses
Gyrus
Messages postés
3334
Date d'inscription
samedi 20 juillet 2013
Statut
Membre
Dernière intervention
9 décembre 2016
523
10 nov. 2014 à 15:58
10 nov. 2014 à 15:58
Bonjour,
Essaie comme cela
A+
Essaie comme cela
Sub Macro10()
Dim C As Range
Dim i As Integer
With Sheets("Feuil10")
For i = 2 To 102
.Rows(i).Value = Sheets("calcul").Rows(i).Value
Set C = Sheets("Feuil1").Cells.Find(What:=.Range("D" & i), LookIn:=xlValues, LookAt:=xlWhole)
If Not C Is Nothing Then .Range("R" & i).Value = C.Offset(0, 1).Value
Set C = Sheets("Feuil1").Cells.Find(What:=.Range("H" & i), LookIn:=xlValues, LookAt:=xlWhole)
If Not C Is Nothing Then .Range("V" & i).Value = C.Offset(0, 1).Value
Set C = Sheets("Feuil1").Cells.Find(What:=.Range("L" & i), LookIn:=xlValues, LookAt:=xlWhole)
If Not C Is Nothing Then .Range("Z" & i).Value = C.Offset(0, 1).Value
Next i
End With
End Sub
A+
weziaw
Messages postés
2
Date d'inscription
lundi 10 novembre 2014
Statut
Membre
Dernière intervention
10 novembre 2014
10 nov. 2014 à 16:07
10 nov. 2014 à 16:07
Salut,
Je me suis peut être pris un peu la tête en faisant comme ça :
Sub Macro10()
Dim a, b As Integer
a = 1
b = 1
While a <= 101
'a servira de la variable pour la selection de ligne
a = a + 1
'b servira de la variable pour copier les restant
b = b + 1
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'1 ère ligne
'selectionne la ligne 2 de la feuille de calcul et la colle en special les valeurs sur la ligne 2 de la fauille 10
Sheets("calcul").Select
Range("a1").Select
Range("A" & a & ":XFD" & a).Select
Selection.Copy
Sheets("Feuil10").Select
Range("A" & a & ":XFD" & a).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
''''''''''''''''''''''''''''''''''''''''
'selectionne le restant
Range("R" & b).Select
Selection.Copy
'defini i comme une variable
Dim i As String
Sheets("Feuil10").Activate
'la valeur en D est inscrit dans la variable i
i = Range("D" & b)
Sheets("feuil1").Activate
'
Cells.Find(What:=i, After:=ActiveCell, LookIn:=xlValues, LookAt:= _
xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
, SearchFormat:=False).Activate
ActiveCell.Offset(0, 1).Select
'colle la valeur restant
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'selectionne V restant
Sheets("Feuil10").Select
Range("V" & b).Select
Selection.Copy
'defini j comme une variable
Dim j As String
Sheets("Feuil10").Activate
'la valeur en H est inscrit dans la variable j
j = Range("H" & b)
Sheets("feuil1").Activate
'
Cells.Find(What:=j, After:=ActiveCell, LookIn:=xlValues, LookAt:= _
xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
, SearchFormat:=False).Activate
ActiveCell.Offset(0, 1).Select
'colle la valeur restant
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'selectionne Z restant
Sheets("Feuil10").Select
Range("Z" & b).Select
Selection.Copy
'defini k comme une variable
Dim k As String
Sheets("Feuil10").Activate
'la valeur en L est inscrit dans la variable k
k = Range("L" & b)
Sheets("Feuil1").Activate
'
Cells.Find(What:=k, After:=ActiveCell, LookIn:=xlValues, LookAt:= _
xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
, SearchFormat:=False).Activate
ActiveCell.Offset(0, 1).Select
'colle la valeur de restant
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
''''''''''''''''''''''''''''''''''''''''''''
Wend
End Sub
Ça fait peut être pas très programmeur mais ça me donne satisfaction :-)
Cdlt
Je me suis peut être pris un peu la tête en faisant comme ça :
Sub Macro10()
Dim a, b As Integer
a = 1
b = 1
While a <= 101
'a servira de la variable pour la selection de ligne
a = a + 1
'b servira de la variable pour copier les restant
b = b + 1
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'1 ère ligne
'selectionne la ligne 2 de la feuille de calcul et la colle en special les valeurs sur la ligne 2 de la fauille 10
Sheets("calcul").Select
Range("a1").Select
Range("A" & a & ":XFD" & a).Select
Selection.Copy
Sheets("Feuil10").Select
Range("A" & a & ":XFD" & a).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
''''''''''''''''''''''''''''''''''''''''
'selectionne le restant
Range("R" & b).Select
Selection.Copy
'defini i comme une variable
Dim i As String
Sheets("Feuil10").Activate
'la valeur en D est inscrit dans la variable i
i = Range("D" & b)
Sheets("feuil1").Activate
'
Cells.Find(What:=i, After:=ActiveCell, LookIn:=xlValues, LookAt:= _
xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
, SearchFormat:=False).Activate
ActiveCell.Offset(0, 1).Select
'colle la valeur restant
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'selectionne V restant
Sheets("Feuil10").Select
Range("V" & b).Select
Selection.Copy
'defini j comme une variable
Dim j As String
Sheets("Feuil10").Activate
'la valeur en H est inscrit dans la variable j
j = Range("H" & b)
Sheets("feuil1").Activate
'
Cells.Find(What:=j, After:=ActiveCell, LookIn:=xlValues, LookAt:= _
xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
, SearchFormat:=False).Activate
ActiveCell.Offset(0, 1).Select
'colle la valeur restant
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'selectionne Z restant
Sheets("Feuil10").Select
Range("Z" & b).Select
Selection.Copy
'defini k comme une variable
Dim k As String
Sheets("Feuil10").Activate
'la valeur en L est inscrit dans la variable k
k = Range("L" & b)
Sheets("Feuil1").Activate
'
Cells.Find(What:=k, After:=ActiveCell, LookIn:=xlValues, LookAt:= _
xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
, SearchFormat:=False).Activate
ActiveCell.Offset(0, 1).Select
'colle la valeur de restant
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
''''''''''''''''''''''''''''''''''''''''''''
Wend
End Sub
Ça fait peut être pas très programmeur mais ça me donne satisfaction :-)
Cdlt