Re : ouvrir un fichier excel depuis un autre fichier avec VBA
je pense que je me suis mal expliqué dans mon titre
dans mon fichier moteur recherche deux feuille
  1 feuille de donnée (qui est une base de donnée)
  1 feuille resultat avec un bouton ouvrant formulaire de recherche et qui affiche les lignes correspondante de la feuille donnée
     et un bouton ouvrant un formulaire pour ajouter un contact dans la base de donnée
ensuite j'ai un autre fichier un agenda excel que j'ai fait moi même
 là une seule feuille ou j'ai fait un coller du bouton ajout contact
ma question est:
 a partir de ce deuxieme bouton(ajout contact) je veux pouvoir  enregistrer mon contact dans le premier fichier
voilà le code en entier du bouton ajout contact que j'ai copier et coller
Private Sub CmdAjouter_Click()
  Dim numLigneVide As Integer
  'On active la feuille liste
  Worksheets("Donnée").Activate
  'On trouve la dernier ligne vide du tableau et on enregistre le numero de la ligne dans la variable numLigneVide
  numLigneVide = ActiveSheet.Columns(1).Find("").Row
  'On vérifie que les champs obligatoire sont correctement remplis
  If TxtNom.Text = "" Then
  MsgBox "Veuillez remplir le nom de votre contact", vbCritical, "Champs manquants"
  TxtNom.SetFocus
  
   ElseIf TxtSpecialite.Text = "" Then
  MsgBox "Veuillez remplir la Specialite de votre contact", vbCritical, "Champs manquants"
    TxtSpecialite.SetFocus
  Else
    'On remplit les données dans notre tableau
    ActiveSheet.Cells(numLigneVide, 2) = UCase(TxtNom.Text)
    ActiveSheet.Cells(numLigneVide, 3) = TxtPrenom.Text
    ActiveSheet.Cells(numLigneVide, 4) = TxtAdresse.Text
    ActiveSheet.Cells(numLigneVide, 5) = TxtCp.Text
    ActiveSheet.Cells(numLigneVide, 6) = UCase(TxtVille.Text)
    ActiveSheet.Cells(numLigneVide, 8) = TxtTel.Text
    ActiveSheet.Cells(numLigneVide, 9) = TxtTel2.Text
    ActiveSheet.Cells(numLigneVide, 10) = TxtTel3.Text
    ActiveSheet.Cells(numLigneVide, 1) = TxtSpecialite.Text
    ActiveSheet.Cells(numLigneVide, 11) = TxtFax.Text
    'On efface le formulaire et on replace le curseur sur le premier champ ( Nom)
    TxtNom.Text = ""
    TxtPrenom.Text = ""
    TxtAdresse.Text = ""
    TxtCp.Text = ""
    TxtVille.Text = ""
    TxtTel.Text = ""
    TxtTel2.Text = ""
    TxtTel3.Text = ""
    TxtSpecialite.Text = ""
    TxtFax.Text = ""
    TxtNom.SetFocus
   
   End If
End Sub
et voila le message que j'ai
erreurd'exécution 9
l'indice n'appartient pas à la selection
j'espere m'etre mieux expliquer🙁