erreur de recopie de donnée en ADO (soit en chiffres soit en lettres )

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

hemardjean

XLDnaute Occasionnel
Bonjour le forum

Je sollicite SVP une petite aide.

J’ai donc deux dossiers un premier avec les valeurs (colonne A et B format texte et les colonnes de C à BL en chiffres), un deuxième avec un formulaire qui va chercher les infos dans les onglets puis dans les lignes .

Le formulaire et la recherche des infos fonctionnent et se recopient bien à l’emplacement prévu sauf que certaines cellules des colonnes C à BL sont recopiées au format texte au lieu du format de départ c’est à dire en chiffres. Je dois le faire manuellement lorsque je trouve dans l’angle haut à gauche de chaque cellule concernée l’erreur affichée .

Peut-on rajouter un code VBA qui au moment où l’on active Private Sub b_validation_Click() transforme à la récupération des données du classeur source les cellules C a BL en nombre avec virgule (si jamais à la saisie dans le premier dossier il y a une erreur de point ou format lettre !!!).

merci de votre aide.

Cordialement
 
Re : erreur de recopie de donnée en ADO (soit en chiffres soit en lettres )

bonsoir,

essaie avec un truc comme ça :

Code:
Range("A1:BL1000").Copy
    With WorkSheets("xxx")
        .Range("J1").PasteSpecial Paste:=xlPasteValues
        .Range("J1").PasteSpecial Paste:=xlPasteFormats
    End With

il va copier et coller avec la méme format du fichier source 🙂

slt
haytoch
 
Re : erreur de recopie de donnée en ADO (soit en chiffres soit en lettres )

Bonjour haytoch Bonjour le forum

Merci pour ta réponse .

Ca bug j’ai le résultat suivant « erreur d’exécution ‘1004’ la méthode Pastespecial de la classe Range a échoué ».

Je n’ai surement pas placé ton code au bon endroit . Je l’ai placé d’abord au début de mon code puis à la fin .Voici le code d’origine complet:

Private Sub b_validation_Click()
Sheets("SaisieFicheSimple").Select
[A65000].End(xlUp).Offset(1, 0).Select
ActiveCell.Value = Application.Proper(Me.ComboBoxrecette)
ActiveCell.Offset(0, 1).Value = (Me.age)
' ActiveCell.Offset(0, 2).Value = TITRE
ActiveCell.Offset(0, 5).Value = Prenom2
'ActiveCell.Offset(0, 4).Value = (TextBox1)
'ActiveCell.Offset(0, 8).Value = (Me.age2)
ActiveCell.Offset(0, 15).Value = Now
ActiveCell.Offset(0, 16).Value = Environ("username")
ActiveCell.Offset(0, 37).Value = (Me.Label1)
ActiveCell.Offset(0, 38).Value = (Me.Label47)
ActiveCell.Offset(0, 39).Value = (Me.Label48)
ActiveCell.Offset(0, 40).Value = (Me.Label49)
ActiveCell.Offset(0, 41).Value = (Me.Label50)
ActiveCell.Offset(0, 42).Value = (Me.Label51)
ActiveCell.Offset(0, 43).Value = (Me.Label52)
ActiveCell.Offset(0, 44).Value = (Me.Label53)
ActiveCell.Offset(0, 45).Value = (Me.Label54)
ActiveCell.Offset(0, 46).Value = (Me.Label55)
ActiveCell.Offset(0, 47).Value = (Me.Label56)
ActiveCell.Offset(0, 48).Value = (Me.Label57)
ActiveCell.Offset(0, 49).Value = (Me.Label58)
ActiveCell.Offset(0, 50).Value = (Me.Label59)
ActiveCell.Offset(0, 51).Value = (Me.Label60)
ActiveCell.Offset(0, 52).Value = (Me.Label61)
ActiveCell.Offset(0, 53).Value = (Me.Label62)
ActiveCell.Offset(0, 54).Value = (Me.Label63)
ActiveCell.Offset(0, 55).Value = (Me.Label64)
ActiveCell.Offset(0, 56).Value = (Me.Label65)
ActiveCell.Offset(0, 57).Value = (Me.Label66)
ActiveCell.Offset(0, 58).Value = (Me.Label67)
ActiveCell.Offset(0, 59).Value = (Me.Label68)
ActiveCell.Offset(0, 60).Value = (Me.Label69)
ActiveCell.Offset(0, 61).Value = (Me.Label70)
ActiveCell.Offset(0, 62).Value = (Me.Label71)
ActiveCell.Offset(0, 63).Value = (Me.Label72)
ActiveCell.Offset(0, 64).Value = (Me.Label73)
ActiveCell.Offset(0, 65).Value = (Me.Label74)
ActiveCell.Offset(0, 66).Value = (Me.Label75)
ActiveCell.Offset(0, 67).Value = (Me.Label76)
ActiveCell.Offset(0, 68).Value = (Me.Label77)
ActiveCell.Offset(0, 69).Value = (Me.Label78)
ActiveCell.Offset(0, 70).Value = (Me.Label79)
ActiveCell.Offset(0, 71).Value = (Me.Label80)
ActiveCell.Offset(0, 72).Value = (Me.Label81)
ActiveCell.Offset(0, 73).Value = (Me.Label82)
ActiveCell.Offset(0, 74).Value = (Me.Label83)
ActiveCell.Offset(0, 75).Value = (Me.Label84)
ActiveCell.Offset(0, 76).Value = (Me.Label85)
ActiveCell.Offset(0, 77).Value = (Me.Label86)
ActiveCell.Offset(0, 78).Value = (Me.Label87)
ActiveCell.Offset(0, 79).Value = (Me.Label88)
ActiveCell.Offset(0, 80).Value = (Me.Label89)
ActiveCell.Offset(0, 81).Value = (Me.Label90)
ActiveCell.Offset(0, 82).Value = (Me.Label91)
ActiveCell.Offset(0, 83).Value = (Me.Label92)
ActiveCell.Offset(0, 84).Value = (Me.Label93)
ActiveCell.Offset(0, 85).Value = (Me.Label94)
ActiveCell.Offset(0, 86).Value = (Me.Label95)
ActiveCell.Offset(0, 87).Value = (Me.Label96)
ActiveCell.Offset(0, 88).Value = (Me.Label97)
ActiveCell.Offset(0, 89).Value = (Me.Label98)
ActiveCell.Offset(0, 90).Value = (Me.Label99)
ActiveCell.Offset(0, 91).Value = (Me.Label100)
ActiveCell.Offset(0, 92).Value = (Me.Label101)
ActiveCell.Offset(0, 93).Value = (Me.Label102)
ActiveCell.Offset(0, 94).Value = (Me.Label103)
ActiveCell.Offset(0, 95).Value = (Me.Label104)
ActiveCell.Offset(0, 96).Value = (Me.Label105)
ActiveCell.Offset(0, 97).Value = (Me.Label106)
ActiveCell.Offset(0, 98).Value = (Me.Label107)
Feuil4.Select
Unload Me
End Sub

merci de ton aide.

Cordialement @+
 
Re : erreur de recopie de donnée en ADO (soit en chiffres soit en lettres )

Bonjour

essaie comme cela :

Code:
Private Sub b_validation_Click()
Sheets("SaisieFicheSimple").activate
   [A65000].End(xlUp).Offset(1, 0).Select
      ActiveCell.Value = Application.Proper(Me.ComboBoxrecette)
   ActiveCell.Offset(0, 1).Value = (Me.age)
'  ActiveCell.Offset(0, 2).Value = TITRE
   ActiveCell.Offset(0, 5).Value = Prenom2
   'ActiveCell.Offset(0, 4).Value = (TextBox1)
   'ActiveCell.Offset(0, 8).Value = (Me.age2)
   ActiveCell.Offset(0, 15).Value = Now
   ActiveCell.Offset(0, 16).Value = Environ("username") 
   ActiveCell.Offset(0, 37).Value = (Me.Label1)

for i=38 to 98
ActiveCell.Offset(0, i) = cdbl(controls("Label" & i+9).value)
next i

   Feuil4.activate
       Unload Me
  End Sub
 
Re : erreur de recopie de donnée en ADO (soit en chiffres soit en lettres )

quand tu dit au début :

c’est à dire sous option explicite ou sous Private Sub b_validation_Click()
ou au dessus de For i car j’ai essayé ces solutions et cela ne marche toujours pas.

Faut-il que je rajoute le code de haytoch ?

merci
 
Re : erreur de recopie de donnée en ADO (soit en chiffres soit en lettres )

oui, il faut ajouter dim i as integer au début si tu as mis option explicit dans tes modules

juste méme code de Misange , et tu ajoute la definition du variable i :


Code:
Private Sub b_validation_Click()
Dim i as integer
Sheets("SaisieFicheSimple").activate
   [A65000].End(xlUp).Offset(1, 0).Select
      ActiveCell.Value = Application.Proper(Me.ComboBoxrecette)
   ActiveCell.Offset(0, 1).Value = (Me.age)
'  ActiveCell.Offset(0, 2).Value = TITRE
   ActiveCell.Offset(0, 5).Value = Prenom2
   'ActiveCell.Offset(0, 4).Value = (TextBox1)
   'ActiveCell.Offset(0, 8).Value = (Me.age2)
   ActiveCell.Offset(0, 15).Value = Now
   ActiveCell.Offset(0, 16).Value = Environ("username") 
   ActiveCell.Offset(0, 37).Value = (Me.Label1)

for i=38 to 98
ActiveCell.Offset(0, i) = cdbl(controls("Label" & i+9).value)
next i

   Feuil4.activate
       Unload Me
  End Sub
 
Re : erreur de recopie de donnée en ADO (soit en chiffres soit en lettres )

Si tu veux qu'on t'aide il vaut mieux suivre les recommandations d'XLD et mettre un petit fichier exemple pour qu'on puisse tester et voir le problème.
 
Re : erreur de recopie de donnée en ADO (soit en chiffres soit en lettres )

Bonjour Misange et le forum

Toutes mes excuses. Voici le dossier allégé.


(les erreurs se situent dans le dossier "nutritionnelles") la macro s'ouvre dans la cellule A6

Cordialement @+
 

Pièces jointes

Dernière édition:
- 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
11
Affichages
778
  • Question Question
Microsoft 365 Erreur de format
Réponses
5
Affichages
492
Retour