Bonjour à tous,
Débutant sur VBA je combine depuis qq semaines plusieurs "formules" / "ecritures" / "macro" vues sur différents forums et sites de conseils mais je ne parviens pas à trouver la solution à la macro ci-dessous.
Avant tout, une explication. J'ai un fichier excel avec dans l'un des onglets un BDD de plusieurs milliers de lignes et une trentaine de colonnes. J'aimerais pouvoir réaliser une extraction avec uniquement les lignes correspondant à un pays (noms des pays situés dans la colonne 1 de ma BDD). La macro que j'ai bidouillé arrive à me sortir dans mon onglet "Country Extract" uniquement les lignes qui m'intéressent mais une fois qu'elle arrive à la fin des lignes correspondant au pays préselectionné elle me dit "Erreur d'exécution 13 : incompatibilité de type". J'aimerais juste savoir comment sortir de la boucle If. Ou savoir ce qui ne va pas sur l'écriture de cette macro.
J'ai l'impression que ca ne doit pas être très compliqué mais j'ai déjà passé 2 jours sur cette partie de la macro, à la tester et rechercher ce qui ne va pas et là franchement je tourne en ronds...
J'espere avoir été clair même si ca n'est pas évident ^^
D'avance un grand merci pour votre aide!
Arno
MACRO :
' Absorbtion des données du pays préalablement sélectionné
' -----------------------------------------------------------------------
Dim Lig As Long
Dim Col As String
Dim NbrLig As Long
Dim NumLig As Long
Sheets("Country Extract").Activate ' feuille de destination
Col = "a" ' colonne données non vides à tester'
NumLig = 3 'alors là ca doit etre le N° de la 1er ligne de données en comptant la ligne 1 = 0 .... ? '
With Sheets("BDD") ' feuille source'
NbrLig = .Cells(65536, Col).End(xlUp).Row
For Lig = 3 To NbrLig 'n° de la 1ere ligne de données'
If .Cells(Lig, Col).Value = Range("D1") Then
.Cells(Lig, Col).EntireRow.Copy
NumLig = NumLig + 1
Sheets("Country Extract").Cells(NumLig, 1).Insert Shift:=xlDown
'ici pour insérer ou .Paste pour coller'
Else
End If
Next
End With
Débutant sur VBA je combine depuis qq semaines plusieurs "formules" / "ecritures" / "macro" vues sur différents forums et sites de conseils mais je ne parviens pas à trouver la solution à la macro ci-dessous.
Avant tout, une explication. J'ai un fichier excel avec dans l'un des onglets un BDD de plusieurs milliers de lignes et une trentaine de colonnes. J'aimerais pouvoir réaliser une extraction avec uniquement les lignes correspondant à un pays (noms des pays situés dans la colonne 1 de ma BDD). La macro que j'ai bidouillé arrive à me sortir dans mon onglet "Country Extract" uniquement les lignes qui m'intéressent mais une fois qu'elle arrive à la fin des lignes correspondant au pays préselectionné elle me dit "Erreur d'exécution 13 : incompatibilité de type". J'aimerais juste savoir comment sortir de la boucle If. Ou savoir ce qui ne va pas sur l'écriture de cette macro.
J'ai l'impression que ca ne doit pas être très compliqué mais j'ai déjà passé 2 jours sur cette partie de la macro, à la tester et rechercher ce qui ne va pas et là franchement je tourne en ronds...
J'espere avoir été clair même si ca n'est pas évident ^^
D'avance un grand merci pour votre aide!
Arno
MACRO :
' Absorbtion des données du pays préalablement sélectionné
' -----------------------------------------------------------------------
Dim Lig As Long
Dim Col As String
Dim NbrLig As Long
Dim NumLig As Long
Sheets("Country Extract").Activate ' feuille de destination
Col = "a" ' colonne données non vides à tester'
NumLig = 3 'alors là ca doit etre le N° de la 1er ligne de données en comptant la ligne 1 = 0 .... ? '
With Sheets("BDD") ' feuille source'
NbrLig = .Cells(65536, Col).End(xlUp).Row
For Lig = 3 To NbrLig 'n° de la 1ere ligne de données'
If .Cells(Lig, Col).Value = Range("D1") Then
.Cells(Lig, Col).EntireRow.Copy
NumLig = NumLig + 1
Sheets("Country Extract").Cells(NumLig, 1).Insert Shift:=xlDown
'ici pour insérer ou .Paste pour coller'
Else
End If
Next
End With