BOUCLE - COpier des lignes jusqu'à valeurs "#N/A"

  • Initiateur de la discussion Initiateur de la discussion OOLIVE
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

OOLIVE

XLDnaute Occasionnel
Bonjour à tous,

Je reviens sur le forum afin de faire appel à vos lumières 🙂

En effet, pour mon taf, j'aurais besoin de mettre en place une macro me permettant de sélectionner les lignes dont la cellule en colonne A est différente de #N/A.

Les cellules de la colonne A sont remplies par une fonction et je voudrais prendre en compte que les lignes "utiles".

Je voudrais ensuite copier -coller ces lignes dans un autres fichiers et ce, dès la première cellule vide en colonne A.

Quelqu'un peut-il m'aider SVP ?

Merci d'avance 🙂

OOLIVE
 

Pièces jointes

Re : BOUCLE - COpier des lignes jusqu'à valeurs "#N/A"

Bonjour

Ce code te donnera la première ligne comportant #N/A

Code:
Dim Maligne As Integer

Set c = ActiveSheet.Range("A1:A2000").Find("#N/A", lookat:=xlWhole)
If Not c Is Nothing Then
Maligne = c.Row
End If

Bonne journée
 
Re : BOUCLE - COpier des lignes jusqu'à valeurs "#N/A"

RE

Voici un code qui copie ta plage des colonnes A à M de la ligne 2 à la dernière ligne avant #N/A
La plage est copiée dans le classeur Toto sur C:\tmp à la suite des données existantes

A toi de l'adapter

Code:
Sub copie()

Dim Maligne As Integer
Dim Maligne2 As Integer

Set c = ActiveSheet.Range("A1:A2000").Find("#N/A", lookat:=xlWhole)
If Not c Is Nothing Then
Maligne = c.Row - 1
End If

Workbooks.Open Filename:="C:\Tmp\toto.xlsx"
Maligne2 = Workbooks("toto.xlsx").Sheets("Feuil1").Range("A65536").End(xlUp).Row + 1

ThisWorkbook.Sheets("Feuil1").Range("A2:M" & Maligne).Copy (Workbooks("toto.xlsx").Sheets("Feuil1").Range("A" & Maligne2))

End Sub
 
Re : BOUCLE - COpier des lignes jusqu'à valeurs "#N/A"

Re,

Merci pour ton aide.. J'ai essayé d'adapter ce code à mes besoins et voilà le résultat :

Sub Extraction()

Dim Fichier As String, Chemin As String
Dim Wb As Workbook
Dim Maligne As Integer
Dim Maligne2 As Integer


Chemin = "C:\Documents and Settings\..."
Fichier = Dir(Chemin & "*.xls")

Do While Fichier <> ""
Set Wb = Workbooks.Open(Chemin & Fichier)

Set c = Worksheets("Feuil1").Range("A1:A2000").Find("#N/A", lookat:=xlWhole)
If Not c Is Nothing Then
Maligne = c.Row - 1
End If


Maligne2 = Workbooks("TEST.xlsx").Sheets("CONSO").Range("A65536").End(xlUp).Row + 1

ThisWorkbook.Sheets("Feuil1").Range("A2:M" & Maligne).Copy (Workbooks("TEST.xlsx").Sheets("CONSO").Range("A" & Maligne2))
'
'Wb.Close True

Set Wb = Nothing
Fichier = Dir
Loop

End Sub


Le problème est que rien ne se passe.. Quelqu'un peut-il m'aider svp ?

NB : Le WB TEST est celui à aprti duquel la macro est lancé.

Merci beaucoup !
 
Re : BOUCLE - COpier des lignes jusqu'à valeurs "#N/A"

Rebonjour,

Je reviens concernant mon problème de code qui ne fonctionne pas...

Svp, quelqu'un peut-il m'aider à comprendre pourquoi ? Cela m'aiderait énooooormement !

Merci beaucoup.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
20
Affichages
1 K
Retour