Utilisation de GetObject

  • Initiateur de la discussion Initiateur de la discussion Dom
  • 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 !

D

Dom

Guest
Bonjour à tous, bonjour Forum chéri

Pourriez-vous me donner un petit coup de main SVP.
Voici deux procédures, la n°1 fonctionne correctement, la n° 2 avec la fonction GetObject ne fonctionne pas vraiment (dur dur !!!).

Private Sub CommandButton1_Click()
Dim Nextrow As Long
Dim MyObject As Workbook (déclaration normale)

N° 1

If CheckBox13.Value = True Then
Sheets("BaseDépart").Select
Range("G1:K1").Select
Selection.Copy
Workbooks.Open Filename:="D:\Documents\Année03-04\Gestion-des-CCF\BEPA1AE.xls"
Sheets("Contrôle").Select
Range("Q1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Nextrow = Range("A65536").End(xlUp).Row + 1
Set select1 = Worksheets("Contrôle").Range("Q1")
Cells(Nextrow, 1) = select1
Set select2 = Worksheets("Contrôle").Range("R1")
Cells(Nextrow, 2) = select2
Set select3 = Worksheets("Contrôle").Range("S1")
Cells(Nextrow, 3) = select3
Set select4 = Worksheets("Contrôle").Range("T1")
Cells(Nextrow, 4) = select4
Set select5 = Worksheets("Contrôle").Range("U1")
Cells(Nextrow, 5) = select5
ActiveWorkbook.Save
ActiveWorkbook.Close
End If

N° 2

If CheckBox14.Value = True Then
Sheets("BaseDépart").Select
Range("G1:K1").Select
Selection.Copy
Set MyObject = GetObject("D:\Documents\Année03-04\Gestion-des-CCF\BEPA1ECC.xls") (le classeur s'ouvre bien)
MyObject.Sheets("Contrôle").Select (Le problème commence ici)
MyObject.Range("Q1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Nextrow = Range("A65536").End(xlUp).Row + 1
Set select1 = Worksheets("Contrôle").Range("Q1")
Cells(Nextrow, 1) = select1
Set select2 = Worksheets("Contrôle").Range("R1")
Cells(Nextrow, 2) = select2
Set select3 = Worksheets("Contrôle").Range("S1")
Cells(Nextrow, 3) = select3
Set select4 = Worksheets("Contrôle").Range("T1")
Cells(Nextrow, 4) = select4
Set select5 = Worksheets("Contrôle").Range("U1")
Cells(Nextrow, 5) = select5

Si vous avez une réponse à cela, bravo ! et gros bisous

@ Dom
 
Bonjour dom,

Le mieux serait que tu joignes une maquette "light"de tes 2 classeurs en expliquant bien ce que tu veux...

Tes macros me semblent bien compliquées (à priori) et seront très longues à éxécuter avec des "copy-paste" pour 25 check-box (ton 1° post)

A+
Michel
 
Salut à toi,

En fait c'est simple : dans le premier classeur (Gestion-CCF-Gle), je demande aux utilisateurs de s'inscrire dans une première base (Nom prénom psw etc...)

Ils doivent ensuite sélectionner des classes (exemple BEPA1ECC) dans lesquelles ils interviennent. Donc une ou plusieurs ou plusieurs sélection possibles). En fonction de la sélection de chacun la première base est recopiée dans chacune des bases préalablement sélectionnées. Il y a plus simple à fare c'est sûr, avec une seule base qui ferait référence aux classes sélectionnées

@ + dom
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
716
Réponses
5
Affichages
868
Réponses
22
Affichages
3 K
Réponses
2
Affichages
1 K
  • Question Question
Microsoft 365 colorer une plage
Réponses
2
Affichages
909
Retour