Problème dans mon code VB

F

Fernandez67

Guest
Bonjour à tous,

Pourriez vous m'inonder de vos lumières...

J'ai un problème dans mon code et je ne n'arrive pas à le résoudre malgrès l'aide VBA

J'aimerai pouvoir copier puis envoyer dans l'onglet 'BaseAdresse'
en transposant ma selection.

Là je bloque...

Code:
Sub AdresseCopyDataToDatabase()

Dim WBSource As Workbook, WSSource As Worksheet
Dim WBCible As Workbook, WSCible As Worksheet
Dim RSource As Range, RCible As Range
Dim CheminDatabase As String

CheminDatabase = ThisWorkbook.Path & '\\Database.xls'

Set WBSource = ThisWorkbook
Set WSSource = WBSource.Sheets('Matrice')
Set RSource = WSSource.Range('F16:G20')

Set WBCible = ThisWorkbook
Set WSCible = WBCible.Sheets('BaseAdresse')

    
[i]Set RCible = WSCible.Range('A65536').PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=True[/i]    
Set RCible = WSCible.Range('A65536').End(xlUp)(2)

RSource.Copy RCible

End Sub
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonjour Fernandez, le Forum

Je ne suis pas certain d'avoir bien suivi ton déroulement car dans le context de ton codfe ces deux lignes ne servent à rien :

Dim CheminDatabase As String
CheminDatabase = ThisWorkbook.Path & 'Database.xls'

Puisque dans les deux cas tu fais ensuite référence à :
Set WBSource = ThisWorkbook
Set WBCible = ThisWorkbook
Donc pour l'instant ce code ne peut fonctionner que dans le classeur où il se trouve

Ceci fera probablement l'objet d'une autre mise au point de code.

Pour le reste de ta question essaie tout simplement ceci dans un classeur comportant deux feuilles : 'Matrice' et 'BaseAdresse', la Feuille 'Matrice' contenant des données en 'F16:G20' comme ceci :

ZAZA1 TOTO1
ZAZA2 TOTO2
ZAZA3 TOTO3
ZAZA4 TOTO4
ZAZA5 TOTO5


Si tu fais tourner un code comme celui-ci :

Sub AdresseCopyDataToDatabase()

Dim WBSource As Workbook, WSSource As Worksheet
Dim WBCible As Workbook, WSCible As Worksheet
Dim RSource As Range, RCible As Range


Set WBSource = ThisWorkbook
Set WSSource = WBSource.Sheets('Matrice')
Set RSource = WSSource.Range('F16:G20')

Set WBCible = ThisWorkbook
Set WSCible = WBCible.Sheets('BaseAdresse')

Set RCible = WSCible.Range('A65536').End(xlUp)(2)
   

RCible.Resize(2, 5) = Application.Transpose(RSource)

End Sub


Dans la Feuille 'BaseAdresse', tu auras a partir de la dernière cellule vide de la Colonne 'A' à la Colonne 'E' ceci :
ZAZA1 ZAZA2 ZAZA3 ZAZA4 ZAZA5
TOTO1 TOTO2 TOTO3 TOTO4 TOTO5

Est-ce donc ceci que tu souhaites....

Bon Aprèm
[ol]@+Thierry[/ol]
 

Robert

XLDnaute Barbatruc
Repose en paix
Bonjour Fernandez, bonjour le forum,

Pas sûr d'avoir tout compris... Je te propose de simplifier ta macro comme ça :


Sub AdresseCopyDataToDatabase()

Dim RSource As Range, RCible As Range

Set RSource = Sheets('Matrice').Range('F16:G20')
Set RCible = Sheets('BaseAdresse').Range('A1')

RSource.Copy
RCible.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=True
End Sub

Édition

Tiens vous ici Thierry ! Quel heureux zazard...


Message édité par: Robert, à: 31/10/2005 16:37
 
F

Fernandez67

Guest
Bonjour Robert, Bonjour Thierry, Re le forum,

En fait j'ai cannibalisé le code d'une autre appli et je l'ai adapté en fonction de mes maigres connaissances en VB...

Le code est fait pour marcher dans ce classeur.

Le but est de pouvoir créer une base d'adresse que je pourrais rappeler par la suite, le tout formant au finale une matrice courrier.

Je vais tenter les deux solutions.

_Thierry, merci pour ton explication concernant le chemin du fichier effectivement

CheminDatabase = ThisWorkbook.Path & 'Database.xls'

N'est pas essentiel (j'avez pas percuté)

Robert,

En fait le but du jeu et de pouvoir mettre les adresses à la suite pour les filtrer et les rappeler...

Restez sur le file je posterai l'évolution du fichier, et je vais sûrement avoir besoin de vos précieux conseils...

Merci beaucoup.
 
F

Fernandez67

Guest
Ca donne ça,

Ca fonctionne nickel... [file name=MatriceLettre_20051031171051.zip size=13944]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/MatriceLettre_20051031171051.zip[/file]
 

Pièces jointes

  • MatriceLettre_20051031171051.zip
    13.6 KB · Affichages: 8

Discussions similaires

Statistiques des forums

Discussions
312 963
Messages
2 093 998
Membres
105 906
dernier inscrit
aifa