Fonctionnement des variables
B
Bonjour, je souhaiterais savoir quelle est le problème sur le second code, qui ne fonctionne pas, par rapport au 1er. Il m'affiche "Qualificateur incorrect" et ne donne rien. J'ai juste remplacé les "Cells" par les variables "Cellule1", "Cellule2" et "Cellule 3".
Code 1 :
Sub test()
Dim ligne As Integer
Dim colonne As Integer
Dim Cellule1 As String
Dim Cellule2 As String
Dim Cellule3 As String
Workbooks("Classeur25.xlsm").Activate
'Sheets("Données").Activate
dercol = Sheets("Données").Cells(1, Columns.Count).End(xlToLeft).Column
Sheets.Add.Name = "Feuil3"
Sheets("Données").Activate
For colonne = 1 To dercol
Sheets("Données").Activate
Cellule1 = Cells(1, colonne)
Cellule2 = Cells(2, colonne)
Cellule3 = Cells(3, colonne)
If Cells(2, colonne) Like "*PART_P17_POP*" Then
i = i + 1
Cells(1, colonne).Copy Sheets("Feuil3").Cells(1, i)
Cells(2, colonne).Copy Sheets("Feuil3").Cells(2, i)
Cells(3, colonne).Copy Sheets("Feuil3").Cells(3, i)
End If
Next colonne
End Sub
Code 2 :
Sub test()
Dim ligne As Integer
Dim colonne As Integer
Dim Cellule1 As String
Dim Cellule2 As String
Dim Cellule3 As String
Workbooks("Classeur25.xlsm").Activate
'Sheets("Données").Activate
dercol = Sheets("Données").Cells(1, Columns.Count).End(xlToLeft).Column
Sheets.Add.Name = "Feuil3"
Sheets("Données").Activate
For colonne = 1 To dercol
Sheets("Données").Activate
Cellule1 = Cells(1, colonne)
Cellule2 = Cells(2, colonne)
Cellule3 = Cells(3, colonne)
If Cells(2, colonne) Like "*PART_P17_POP*" Then
i = i + 1
Cellule1.Copy Sheets("Feuil3").Cells(1, i)
Cellule2.Copy Sheets("Feuil3").Cells(2, i)
Cellule3.Copy Sheets("Feuil3").Cells(3, i)
End If
Next colonne
End Sub
Merci beaucoup !
E
Bonjour,
Dans votre exemple Cells renvoie un objet Range mais vous le définissez comme une chaîne de caractère string, ce n'est pas compatible.
Donc je dirais :
'Macro 1
Cellule1 = Cells(1, colonne).Address
'Macro 2
Range(Cellule1).Copy Sheets("Feuil3").Cells(3, i)
Cdlt,
B
Merci, effectivement cela fonctionne !
Je rencontre une autre difficulté entre deux codes. Le premier fonctionne, le deuxième nom, le problème étant lié à la variable "selection ".
Code 1 :
Public Sub test()
Dim dercol2 As Integer
Workbooks("Classeur25.xlsm").Activate
Sheets("Feuil1").Activate
dercol2 = Cells(1, Columns.Count).End(xlToLeft).Column
Range(Cells(2, 1), Cells(2, dercol2)).Copy Range(Cells(4, 1), Cells(4, dercol2))
End Sub
Code 2 :
Public Sub test()
Dim dercol2 As Integer
Dim selection As Range
Workbooks("Classeur25.xlsm").Activate
Sheets("Feuil1").Activate
dercol2 = Cells(1, Columns.Count).End(xlToLeft).Column
selection = Range(Cells(2, 1), Cells(2, dercol2))
selection.Copy Range(Cells(4, 1), Cells(4, dercol2))
End Sub
Merci encoreE
Bonjour,
Je crois que Selection est un mot réservé sous VBA. On ne peux pas l'utiliser comme variable :
Dim PLAGE As String
Workbooks("Classeur25.xlsm").Activate
Sheets("Feuil1").Activate
dercol2 = Cells(1, Columns.Count).End(xlToLeft).Column
PLAGE = Range(Cells(2, 1), Cells(2, dercol2)).Address
Range(PLAGE).Copy Range(Cells(4, 1), Cells(4, dercol2))
Cdlt,