Erreur méthode de données

Résolu/Fermé
titi17-08 Messages postés 117 Date d'inscription mercredi 29 janvier 2020 Statut Membre Dernière intervention 20 janvier 2023 - 29 juil. 2021 à 10:09
Le Pingou Messages postés 12206 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 28 novembre 2024 - 30 juil. 2021 à 09:44
Bonjour
j'ai un message "methode ou membre de données introuvable".
pouvez vous m'aider s'il vous plait.
merci
Private Sub VALIDER_Contrat_Click()
Dim nomf As String
Dim i As Long
Dim sh As Worksheet
nomf = Debut_Contrat_M.Value ' nom de la feuille a selectionner
For i = 1 To Worksheets.Count
With sh
If Left(.Value, 8) = nomf Then
Sheets(i).Select


Range("A7" & Range("A26").End(xlUp).Row + 1).Select
Range(0, 3).Value = Nom_Freelance.Value
Range(0, 4).Value = Prenom_Freelance.Value
Range(0, 5).Value = Tel_Freelance.Value
Range(0, 6).Value = Statut_Freelance.Value
Range(0, 11).Value = Nb_jours.Value
Range(0, 12).Value = TJM_Achat.Value
Range(0, 13).Value = TJm_Contrat.Value
Range(0, 14).Value = TJM_Vente.Value
Range(0, 16).Value = Effort.Value
Range(0, 18).Value = Duree_Contrat.Value
Range(0, 20).Value = Nb_jours.Value
Range(0, 23).Value = Debut_Contrat_J.Value & "/" & Debut_Contrat_M.Value & "/" & Debut_Contrat_A.Value
End If
End With
Next i
End Sub

4 réponses

Le Pingou Messages postés 12206 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 28 novembre 2024 1 452
29 juil. 2021 à 14:25
Bonjour,
Juste au passage;
nomf = Debut_Contrat_M.Value ' nom de la feuille a selectionner
se devrait être plutôt:
nomf="Debut:Contrat_M"
je suppose qu'il n'y a pas de [.Value] dans le nom de la feuille!
0
titi17-08 Messages postés 117 Date d'inscription mercredi 29 janvier 2020 Statut Membre Dernière intervention 20 janvier 2023 1
Modifié le 29 juil. 2021 à 15:40
Bonjour Le pingou,
alors Début_Contrat_M est un variable récupérée dans une listebox d'un user form ..
0
Le Pingou Messages postés 12206 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 28 novembre 2024 1 452
Modifié le 29 juil. 2021 à 17:00
Bonjour,
Eh bien pourquoi vous mettez commentaire ' nom de la feuille a selectionner
S'il vient d'un formulaire alors il devrait y avoir le nom du formulaire ....Usefforme1.NomCombobox...
Pour vous aidez il serait plus profitable de savoir exactement se que vous voulez réaliser avec votre code .Un plus serait de mettre le fichier à disposition sur https://mon-partage.fr/ ou https://www.cjoint.com/ et poster le lien

Note: lorsque vous lancez votre macro, qu'elle est exactement le code d'erreur et en plus quelle ligne de la macro est surlignée?

0
titi17-08 Messages postés 117 Date d'inscription mercredi 29 janvier 2020 Statut Membre Dernière intervention 20 janvier 2023 1
29 juil. 2021 à 16:58
Mon code a évolué pendant ce temps et j'ai trouvé..
je suis sur un autre souci de trouver la première cellule vide d'une plage C8:C26 et il me sélectionne une cellule hors de ma plage ;(
Private Sub VALIDER_Contrat_Click()
Dim nomf As String
Dim sh As Worksheet
nomf = Debut_Contrat_M
For Each sh In Worksheets
If sh.Name = Debut_Contrat_M & " " & Debut_Contrat_A Then
sh.Select

NoLig = ActiveSheet.Cells(Columns(3).Cells.Count, 3).End(xlUp).Row + 1
ActiveSheet.Cells(NoLig, 3).Select
MsgBox "trouvé"

'.Offset(0, 3).Value = Nom_Freelance.Value
'.Offset(0, 4).Value = Prenom_Freelance.Value
'.Offset(0, 5).Value = Tel_Freelance.Value
'.Offset(0, 6).Value = Statut_Freelance.Value
'.Offset(0, 11).Value = Nb_jours.Value
'.Offset(0, 12).Value = TJM_Achat.Value
'.Offset(0, 13).Value = TJm_Contrat.Value
'.Offset(0, 14).Value = TJM_Vente.Value
'.Offset(0, 16).Value = Effort.Value
'.Offset(0, 18).Value = Duree_Contrat.Value
'.Offset(0, 20).Value = Nb_jours.Value
'.Offset(0, 23).Value = Debut_Contrat_J.Value & "/" & Debut_Contrat_M.Value & "/" & Debut_Contrat_A.Value
Exit For


End If
Next sh
Unload Me
End Sub

merci de votre aide
0
Le Pingou Messages postés 12206 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 28 novembre 2024 1 452
Modifié le 29 juil. 2021 à 18:14
Bonjour,
Pour commencer vous faite un pas à pas sur votre code pour savoir la valeur de la première cellule vide...!
Est-ce par hasard la cellule C32 qui est sélectionnée...?
Note : si c'est en dehors de la plage c'est que vous avez des données dans les lignes suivantes de la colonne [C]
Remarque:
Si vous limitez à la plage [C8 :C26] alors vous comptez le nombres de cellule non vide [NBVAL()]et par exemple si vous avez 3 alors la première ligne vide est : 8+3=11 . Donc 0 si tout vide et 19 si complet)


0
eriiic Messages postés 24601 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 25 novembre 2024 7 243
29 juil. 2021 à 23:32
Bonjour,

et il faudrait tester NoLig.
Après 26 il ira naturellement en 27 et plus loin
eric
0
Le Pingou Messages postés 12206 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 28 novembre 2024 1 452
29 juil. 2021 à 23:39
Hello eriiic,
Oui bien sur, je l'ai aussi mentionné, mais comme il précise la première cellule vide d'une plage C8:C26 , donc on peu pensée que plus loin il y a d'autre données, donc mauvaise position.
Amical salut
Le Pingou
0
eriiic Messages postés 24601 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 25 novembre 2024 7 243 > Le Pingou Messages postés 12206 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 28 novembre 2024
30 juil. 2021 à 00:19
Salut le pingou :-)

J'ai dû te lire un peu trop en diagonale... ;-)
Perso je ferai comme ça :
Sub test()
    Dim pl As Range
    On Error Resume Next
    Set pl = Range("C8:C26").SpecialCells(xlCellTypeBlanks)
    On Error GoTo 0
    If Not pl Is Nothing Then
        MsgBox "1ère cellule vide en " & pl(1).Address
    Else
        MsgBox "Plus de place"
    End If
End Sub 

Si j'ai bien compris sa demande.
Là je ne vois aucune ligne dans son code pour 'et il me sélectionne une cellule hors de ma plage' ?!?
eric
0
Le Pingou Messages postés 12206 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 28 novembre 2024 1 452 > eriiic Messages postés 24601 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 25 novembre 2024
30 juil. 2021 à 09:44
Merci eriiic, je n'avais pas du tout pensée à cette solution.
Bonne fin de semaine.
Amical salut
Le Pingou
0