SneakyZEKE
XLDnaute Nouveau
Bonjour,
J'ai conscience que ce cas à été traité moult fois mais comme je ne suis pas très doué, je n'arrive pas à appliquer les solutions que je trouve à mon problème...
Jusqu'ici j'ai récupéré ce bout de code sur le forum qui m'ouvre bien une fenêtre d'import de fichier :
Problème, je désirs récupérer le contenu des cellules non vides entre A3:A100 et B3:B100 d'une feuille "SupClefs" et d'un classeur nommé "Clefs Supplément", les concaténer (sous la forme "A3 - B3", "A4 - B4", "A5 - B5"...) et renvoyer le résultat en colonne G de ma feuille "BASE" (classeur "Projet") à la suite des données déjà présentes entre G3 et G1000.
Je ne sais pas si je suis très clair, l'idée c'est que j'ai une colonne G3:G1000 dans laquelle se trouve des chaines de caractères sous la forme ***** - ***. Théoriquement il n'y a pas de cellules vides entre deux cellules pleines dans cette colonne, et je souhaiterai pouvoir importer 2 colonnes d'un autre fichier xls, les concaténer, et les mettre dans la première cellule vide de ma colonne G3:G1000.
Si c'est toujours pas clair je veux bien ré-expliquer ou répondre aux questions si besoin est ?
J'ai conscience que ce cas à été traité moult fois mais comme je ne suis pas très doué, je n'arrive pas à appliquer les solutions que je trouve à mon problème...
Jusqu'ici j'ai récupéré ce bout de code sur le forum qui m'ouvre bien une fenêtre d'import de fichier :
Code:
Option Explicit
Sub importer()
Dim fin&, début&, wbksource As Workbook, wbkcible As Workbook, Fichier$, fd As Object, Nom$
Set wbkcible = ThisWorkbook
Fichier = ThisWorkbook.Path
Set fd = Application.FileDialog(msoFileDialogOpen)
With fd
.Title = "Choisissez le Fichier pour Importer les Données"
.InitialFileName = Fichier & "\1_Donnees_brutes\"
.Filters.Clear
.Filters.Add "Fichier Excel", "*.xls*"
.AllowMultiSelect = True
If .Show <> 0 Then
Nom = .SelectedItems(1)
Else
MsgBox "Vous n'avez aucun fichier" & vbCrLf & _
"ou Vous n'avez choisi aucun Fichier ", , "Manque de Fichier": GoTo 1
End If
End With
Set wbksource = Workbooks.Open(Nom)
'If ActiveSheet.Range("E1") = "Transféré" Then MsgBox "Ce fichier a déjà été Transféré", , "Fichier déjà transféré": GoTo 2
ActiveSheet.Range("A3:B100" & ActiveSheet.Range("B100").End(xlUp).Row).Copy wbkcible.Sheets("Base globale").Range("B100").End(xlUp).Offset(1, 0)
wbksource.ActiveSheet.Range("E1") = "Transféré"
wbksource.Close savechanges:=True
1
début = ActiveSheet.Range("A65536").End(xlUp).Row
fin = ActiveSheet.Range("A65536").End(xlUp).Row
GoTo 3
2 wbksource.Close savechanges:=False
3
End Sub
Problème, je désirs récupérer le contenu des cellules non vides entre A3:A100 et B3:B100 d'une feuille "SupClefs" et d'un classeur nommé "Clefs Supplément", les concaténer (sous la forme "A3 - B3", "A4 - B4", "A5 - B5"...) et renvoyer le résultat en colonne G de ma feuille "BASE" (classeur "Projet") à la suite des données déjà présentes entre G3 et G1000.
Je ne sais pas si je suis très clair, l'idée c'est que j'ai une colonne G3:G1000 dans laquelle se trouve des chaines de caractères sous la forme ***** - ***. Théoriquement il n'y a pas de cellules vides entre deux cellules pleines dans cette colonne, et je souhaiterai pouvoir importer 2 colonnes d'un autre fichier xls, les concaténer, et les mettre dans la première cellule vide de ma colonne G3:G1000.
Si c'est toujours pas clair je veux bien ré-expliquer ou répondre aux questions si besoin est ?
Dernière édition: