|
|
|
|
Bonjour,
Je suis débutant en VBA Excel, et j'ai un problème avec une macro devant tester la deuxième ligne de chaque colonne sur une feuille, et la coller, ainsi que la colonne suivante dans une autre feuille suivant la valeur lue.
J'ai essayé le code suivant pour sélectionner mes colonnes (je suis désolé si mon code manque de propreté):
If Cells(2, i).Value = 178.6 Then Range(ActiveCell, ActiveCell.End(xlDown)).Select , _
li = Selection.Rows.Count, Range(Cells(1, i), Cells(li, i + 1)).Select, _
Selection.Copy
Il s'avère qu'au moment de l'exécution, j'obtiens une erreur de compilation : "Nombre d'arguments incorrects ou affectation de propriété incorrecte" concernant le premier "Select".
Merci d'avance,
PS: J'avais déjà récupéré ce morceau de code sur ce site au cours de mes recherches, il est possible que je l'ai mal compris et mal adapté de ce fait.
TheMoon
Configuration: Windows Vista Firefox 3.0.
Bonjour,
If Cells(2, i).Value = 178.6 Then
Range(ActiveCell, ActiveCell.End(xlDown)).Select
li = Selection.Rows.Count
Range(Cells(1, i), Cells(li, i + 1)).Select
Selection.Copy
End If
Ensuite il manque du code avant et aprés pour que l'on puisse juger si cela va donner le bon résultat. En particulier je suppose qu'il y a une boucle sur toutes les colonnes i et un paste ensuite. Mais l'utilisation de ActiveCell me parait curieux. Il me semble qu'il faudrait que la cellule active soit Cells(1,i) en amont de ce code. A+ Cordialement,
|
Bonjour,
Sub test()
Dim i As Integer, j As Integer, Numcol As Integer, Numcol2 As Integer
Dim k As Integer, l As Integer
k = 1
l = 1
For i = 1 To 150
Sheets("VIS-NIR").Select
j = i + 1
Range("A1").Select
Application.CutCopyMode = False
If Cells(2, i).Value = "178,6" Then
Range(Columns(i), Columns(j)).Select
Selection.Copy
Sheets("VIS").Select
Cells(1, k).Select
ActiveSheet.Paste
k = k + 2
End If
If Cells(2, i).Value = "646,42" Then
Range(Columns(i), Columns(j)).Select
Selection.Copy
Sheets("NIR").Select
Cells(1, l).Select
ActiveSheet.Paste
l = l + 2
End If
Next i
End Sub
A+ Cordialement, |