Bonjour,
j'ai cette erreur lors de l’exécution de ma procédure, je n'arrive pas à en trouver l'origine car j'utilise la ligne à l'origine de l'erreur dans une autre procédure sans soucis ...
Je vous mets le code ci-dessous, l'objectif est de copier dans un autre classeur toutes les lignes de mon classeur (comportant plusieurs feuilles) répondant à une condition : 1 doit être présent dans ne colonne de la ligne. Cette colonne est choisie par l'utilisateur via un user_form.
Remarque : l'erreur n'est pas due à ma colonne : la fonction RefCell renvoyant l'adresse de la cellule fonctionne (code ci-dessous). Et surtout lorsque j’exécute la procédure en remplaçant col par une colonne existante ("V" par exemple), cela ne fonctionne pas non plus.
J'ai souligné la ligne qui pose problème en rouge.
En vous remerciant !
j'ai cette erreur lors de l’exécution de ma procédure, je n'arrive pas à en trouver l'origine car j'utilise la ligne à l'origine de l'erreur dans une autre procédure sans soucis ...
Je vous mets le code ci-dessous, l'objectif est de copier dans un autre classeur toutes les lignes de mon classeur (comportant plusieurs feuilles) répondant à une condition : 1 doit être présent dans ne colonne de la ligne. Cette colonne est choisie par l'utilisateur via un user_form.
VB:
Private Sub OK_liste_Click()
'Créé un nouveau classeur contenant les participants à l'évènement sélectionné
'Trouver la colonne correspondant à l'évènement
Sheets("Evènements").Activate
Dim ev As String
Dim Col As Long
ev = Me.Evenement.Text
Col = Range(RefCell(ev)).Column
'Récupérer le nom du classeur de base (Date Grande liste RMT)
Dim Base
Base = ThisWorkbook.Name
'Copier coller les lignes des participants concernés par l'évènement : donc les lignes où la case de la colonne Col contient 1
'Initialisation des variables
Dim Lig As Long
Dim NbrLig As Long
Dim NumLig As Long
Dim i As Integer
Dim Celldep As String
NumLig = 0
Celldep = "A" & NumLig
InitialiseNoms_feuilles 'Créé un nouveau classeur
Workbooks.Add 'Créé un nouveau classeur dans lequel seront copéis les lignes correspondant aux participants de l'évènement.
ActiveWorkbook.Sheets("Feuil1").Activate ' feuille de destination
For i = 0 To 13
With Workbooks(Base).Sheets(Noms_feuilles(i)) ' feuille source
NbrLig = .Cells(65536, Col).End(xlUp).Row
For Lig = 1 To NbrLig
If .Cells(Lig, Col).Value = 1 Then
[COLOR=rgb(184, 49, 47)][U].Rows(.Cells(Lig, Col).Row).Copy Cells(NumLig, 1)[/U][/COLOR]
NumLig = NumLig + 1
End If
Next
End With
Next i
'Uniformiser la mise en forme des cellules (sans bordure Arial 10)
With Sheets("Liste_Bulletin_veille").Range(Celldep)
.Borders.Value = 0
.Font.Size = 10
.Font.Name = "Arial"
.WrapText = False
.HorizontalAlignment = xlLeft
.VerticalAlignment = xlCenter
End With
Call Unload(Me)
End Sub
Remarque : l'erreur n'est pas due à ma colonne : la fonction RefCell renvoyant l'adresse de la cellule fonctionne (code ci-dessous). Et surtout lorsque j’exécute la procédure en remplaçant col par une colonne existante ("V" par exemple), cela ne fonctionne pas non plus.
J'ai souligné la ligne qui pose problème en rouge.
En vous remerciant !