Erreur l'objet n'appartient pas à la selection

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 !

zephir94

XLDnaute Impliqué
Bonjour à tous

Je veux récupérer les valeurs texte des mes textbox1 et 2 ainsi que ma combobox1 dans une feuille sur une ligne ( cellule A,B,C ) , en les copiant au fur et à mesure des saisies à la ligne en dessous.

pour cela j'ai donc commencé à écrire ceci :

Code:
Dim NewLig As Long
Dim valeur1 As String
Dim valeur2 As String
Dim valeur3 As String

Sheets("base2").Activate
With Sheets("Base2")
NewLig = .Cells(.Rows.Count, "A").End(xlUp).Row + 1
.Range("A" & NewLig).Value = Val(.Range("A" & NewLig - 1).Value) + 1
 TextBox1.Value = "valeur1"
 TextBox2.Value = "valeur2"
 ComboBox1.Value = "valeur3"

Jusque là tout va bien et les value correspondante comportent bien les bonne valeurs, c'est après que ça se gâte !

Ensuite j'ai écris :

Code:
 Sheets("base2").Cell("A") = valeur2
 Sheets("base2").Cell("B") = valeur1
 Sheets("base2").Cell("C") = valeur3

à ce moment la les variables sont vide et j'ai une erreur me disant que l'objet n'appartient pas à la sélection erreur 438
Je débute et je n'arrive pas à articuler la fin de mon code.

Merci à vous tous pour vos aides
 
Dernière édition:
Re : Erreur l'objet n'appartient pas à la selection

Bonsoir zephir94,

Pour désigner une cellule, vous pouvez employer la notation suivante:
Code:
Sheets("base2").Cells(3,"a") = valeur2
ou bien
Code:
Sheets("base2").Cells(3,1) = valeur2


  • Cells désigne l'ensemble des cellules de la feuille "base2".
  • Pour désigner une cellule particulière, utiliser Cells(i,j) où i est le numéro de ligne et j le numéro de la colonne. On peut remplacer le numéro de la colonne par sa référence en lettre.

Dans l'exemple, Cells(3,"a") ou Cells(3,1) désigne la cellule A3.
 
Dernière édition:
Re : Erreur l'objet n'appartient pas à la selection

Merci pour la réponse,

J'ai donc essayé mais en fait j'ai en feuille base2 Valeur1, Valeur2 et valeur3 d'écrit et aussi dans mon userform lol
j'ai raté quelque chose hihihi.
Mais le fait d'écrire :
Code:
Sheets("base2").Cells(3,1) = valeur2
envoi tout le temps en Cellule A3 alors que je veux que à la saisie suivante l'écriture se fasse à la ligne en dessous !
 
Re : Erreur l'objet n'appartient pas à la selection

Bonsoir le fil, bonsoir le forum,

Peut-être comme ça :

Code:
Dim NewLig As Long

With Sheets("Base2")
    NewLig = .Cells(Application.Rows.Count, 1).End(xlUp).Row + 1
    .Range("A" & NewLig).Value = CInt(.Range("A" & NewLig - 1).Value) + 1
    .Cells(NewLig, "B") = Me.TextBox1.Value
    .Cells(NewLig, "C") = Me.TextBox2.Value
    .Cells(NewLig, "D") = Me.ComboBox1.Value
End With
 
Re : Erreur l'objet n'appartient pas à la selection

Bonsoir Robert et merci,

J'ai donc essayé ta proposition et j'obtient une erreur 13 imcompatibilité de type et l'erreur est :
Code:
.Range("A" & NewLig).Value = CInt(.Range("A" & NewLig - 1).Value) + 1
 
Re : Erreur l'objet n'appartient pas à la selection

Re Bonsoir Robert,

J'ai modifié comme ceci et ça marche !
Code:
Sheets("base2").Activate
With Sheets("Base2")
NewLig = .Cells(.Rows.Count, "A").End(xlUp).Row + 1
.Range("A" & NewLig).Value = Val(.Range("A" & NewLig - 1).Value) + 1
.Cells(NewLig, "B") = Me.TextBox1.Value
     .Cells(NewLig, "C") = Me.TextBox2.Value
     .Cells(NewLig, "D") = Me.ComboBox1.Value

End With
Je continu mes tests et reviens !
encore merci
 
Re : Erreur l'objet n'appartient pas à la selection

Pour la copie de ma ligne avant j'ai trouvé pour conserver son format il faut que j'utilise :
Code:
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
mais comment l'articuler avec :
Code:
NewLig = .Cells(.Rows.Count, "A").End(xlUp).Row + 1
 .Range("A" & NewLig).Value = Val(.Range("A" & NewLig - 1).Value) + 1]

Comme il y a un sélection je penses qu'il faut sélectionner la nouvelle ligne mais comment ?

Merci par avance
 
Dernière édition:
Re : Erreur l'objet n'appartient pas à la selection

bonjour le fil, bonjour le forum,

Peut-être comme ça :
Code:
Sheets("base2").Activate
With Sheets("Base2")
    NewLig = .Cells(.Rows.Count, "A").End(xlUp).Row + 1
    .Rows(NewLig - 1).Copy
    .Cells(NewLig, 1).PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    .Range("A" & NewLig).Value = Val(.Range("A" & NewLig - 1).Value) + 1
    .Cells(NewLig, "B") = Me.TextBox1.Value
    .Cells(NewLig, "C") = Me.TextBox2.Value
    .Cells(NewLig, "D") = Me.ComboBox1.Value
End With

As-tu vu ma remarque ici ?
 
Re : Erreur l'objet n'appartient pas à la selection

Bonjour Robert,

Un grand merci à toi, ta proposition va dans le sens que je recherche.
Je vais tacher de régler la copie de la bonne ligne maintenant, par contre quand il me copie la ligne et que je quitte Excel il me demande de supprimer les données dans le presse papier ?????
je pense que ça doit venir de la non ?
Code:
     .Rows(NewLig - 1).Copy

Et pour répondre à ta question sur le Combobox je suis allé faire un tour et je te remercie pour cette remarque.
 
- 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
5
Affichages
183
  • Question Question
Microsoft 365 Code VBA
Réponses
10
Affichages
861
Réponses
4
Affichages
461
Réponses
9
Affichages
582
Réponses
3
Affichages
665
Retour