Erreur l'objet n'appartient pas à la selection

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:

mapomme

XLDnaute Barbatruc
Supporter XLD
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:

zephir94

XLDnaute Impliqué
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 !
 

Robert

XLDnaute Barbatruc
Repose en paix
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
 

zephir94

XLDnaute Impliqué
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
 

zephir94

XLDnaute Impliqué
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
 

zephir94

XLDnaute Impliqué
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:

Robert

XLDnaute Barbatruc
Repose en paix
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 ?
 

zephir94

XLDnaute Impliqué
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.
 

Discussions similaires

Réponses
11
Affichages
304

Statistiques des forums

Discussions
312 336
Messages
2 087 389
Membres
103 534
dernier inscrit
Kalamymustapha