Modification des données d'un tableau

Bjr

je voudrai votre aide.

quant je clique sur le bouton modifier, il modifie seulement les 3 colonnes, les 3 autres il ne le fait.

Private Sub btn_Modif_TypDoc_Click()

'Pour le bouton Modifier

Dim no_ligne As Integer

Sheets("Type_Doc").Select

no_ligne = cbo_Type_Doc.ListIndex + 1

If cbo_Type_Doc.Value = "" Then

MsgBox ("Veuillez remplir lee champ de la recherche")

Else

'Ôte la protection de ma feuil

C_Arrivee.Unprotect Password:="20172018"

Cells(no_ligne, 1) = txt_Date_TypDoc.Value

Cells(no_ligne, 2) = cbo_Type_DocEMGA.Value

Cells(no_ligne, 3) = txt_Num_TypeDoc.Value

Cells(no_ligne, 4) = txt_Analyse_TypeDoc.Value

Cells(no_ligne, 5) = cbo_Service_TypDoc.Value

Cells(no_ligne, 6) = txt_Observ_TypeDoc.Value

'Remettre la protection de ma feuil

Type_Doc.Protect Password:="20172018"

End If

Unload Me

F_Type_Doc_EMGA.Show

votre aide mes precieux!!

Bonjour

Un extrait de fichier peut-être ???

Merci

Bye

Bonjour Souka2018,

screen

Cordialement,

dhany

Bonsoir

Vous me conseillez de faire quoi pour les 3 dernières colonnes pour que sa marche ?

D'abord, tu peux vérifier si c'est ok pour la destination :

Cells(no_ligne, 4) = 40
Cells(no_ligne, 5) = 50
Cells(no_ligne, 6) = 60

Exécute ta macro et vérifie sur la feuille concernée si pour les lignes no_ligne tu as bien :

40 en colonne D ; 50 en colonne E ; 60 en colonne F

La suite serait de vérifier la source, mais je pense que tu auras déjà un problème

à ce niveau ! je pense que la feuille n'est pas bonne !!!

Avec Sheets("Type_Doc").Select la feuille active est "Type_Doc"

mais ensuite, tu veux faire le travail sur la feuille dont tu enlèves la protection :

C_Arrivee.Unprotect Password:="20172018"

Quelle est au juste cette feuille C_Arrivee ?

et surtout, pour tes instructions Cells(no_ligne, ...) = ...

Cells() sont les cellules de la feuille "Type_Doc" ... alors que ça doit être

les cellules de la feuille C_Arrivee, non ?

dhany

Bjr

Merci beaucoup pour tes réponses.

Je vais vérifier et je vous reviens.

Bon week-end

Bjr

J'espère que vs allez bien ?

Aide moi à modifier les trois dernières colonnes.

Type_Doc.Unprotect Password:="20172018"

Cells(no_ligne, 1) = txt_Date_TypDoc.Value

Cells(no_ligne, 2) = cbo_Type_DocEMGA.Value

Cells(no_ligne, 3) = txt_Num_TypeDoc.Value

Cells(no_ligne, 4) = txt_Analyse_TypeDoc.Value

Cells(no_ligne, 5) = cbo_Service_TypDoc.Value

Cells(no_ligne, 6) = txt_Observ_TypeDoc.Value

'Remettre la protection de ma feuil

Type_Doc.Protect Password:="20172018"

Bonjour Souka,

Pour ma part, je vais bien, merci.

Pour ton exo, si tu reposes la même question qu'avant, c'est donc que ton problème n'est toujours pas résolu !

alors par rapport à mon message d'hier à 2:06 :

Quelle est la feuille où tes cellules Cells(no_ligne, ...) doivent être modifiées ? est-ce la feuille "Type_Doc" ? la feuille C_Arrivee ? une autre feuille ? pour les 2 derniers cas, merci de préciser le nom exact de la feuille !!!

Est-ce que ces cellules de destination sont bien modifiées comme tu veux, sur la bonne feuille, avec simplement 40, 50 et 60 ?

Si c'est OK jusqu'ici, la suite sera avec la source des données, c'est-à-dire ce que tu mets à droite du signe « = ».

À te lire pour la suite.

dhany

Merci beaucoup pour votre disponibilité

La feuille destination est "Type_Doc".

Mais les trois dernières ne se modifie pas.

Bonjour Souka,

D'accord, tu as bien répondu à ma 1ère question : la feuille destination est donc "Type_Doc" ; mais pourquoi n'as-tu pas répondu à ma 2ème question ? il s'agit de commencer par modifier ainsi les 3 lignes de code VBA qui ne te donnent pas le résultat attendu :

Cells(no_ligne, 4) = 40
Cells(no_ligne, 5) = 50
Cells(no_ligne, 6) = 60

Ce sont des valeurs arbitraires choisies au hasard ; le but est simplement de vérifier à l'exécution si tes cellules prennent bien les valeurs 40 en colonne D, 50 en colonne E, 60 en colonne F, tout cela sur la feuille de destination, donc sur la feuille "Type_Doc".

Si c'est ok, on pourra passer à la suite qui est de vérifier la source ; sinon, faut déjà voir pourquoi ça marche pas pour la destination : ça écrit peut-être les résultats sur une autre feuille ? ou peut-être que c'est sur la bonne feuille, mais ça veut pas y écrire car "Type_Doc" est protégée et les cellules de destination verrouillées ? ou peut-être les 2 à la fois ? ou une autre cause ? à toi de faire les tests avec mes infos et ton vrai fichier.


Ajout : j'ai peut-être trouvé d'où vient le problème, mais je laisse quand même telles quelles les infos ci-dessus, car elles pourront t'être utiles pour tenter de résoudre un problème VBA (en général, pas seulement pour cet exo).

Dans le code VBA de ton premier post, tu as mis : Sheets("Type_Doc").Select ; alors essaye ce code VBA :

Sheets("Type_Doc").Unprotect Password:="20172018"
Cells(no_ligne, 1) = txt_Date_TypDoc.Value
Cells(no_ligne, 2) = cbo_Type_DocEMGA.Value
Cells(no_ligne, 3) = txt_Num_TypeDoc.Value
Cells(no_ligne, 4) = txt_Analyse_TypeDoc.Value
Cells(no_ligne, 5) = cbo_Service_TypDoc.Value
Cells(no_ligne, 6) = txt_Observ_TypeDoc.Value
'Remettre la protection de ma feuil
Sheets("Type_Doc").Protect Password:="20172018"

Pourtant, je suis quand même sceptique car tu as dit que ça marche bien pour les 3 premières affectations de Cells(no_ligne, ...) = ... ; or vu l'agencement des lignes de code, ça devrait soit marcher pour les 6 affectations, soit pour aucune ! de plus, si la feuille a bien été déprotégée, l'état verrouillé ou non des cellules n'a plus d'incidence.

dhany

bjr mon cher,

encore merci pour tous!

pour le code là, marche bien.

Cells(no_ligne, 4) = 40

Cells(no_ligne, 5) = 50

Cells(no_ligne, 6) = 60

Sheets("Type_Doc").Unprotect Password:="20172018"

Cells(no_ligne, 1) = txt_Date_TypDoc.Value

Cells(no_ligne, 2) = cbo_Type_DocEMGA.Value

Cells(no_ligne, 3) = txt_Num_TypeDoc.Value

Cells(no_ligne, 4) = txt_Analyse_TypeDoc.Value " partir de la colonne D"

Cells(no_ligne, 5) = cbo_Service_TypDoc.Value " partir de la colonne E"

Cells(no_ligne, 6) = txt_Observ_TypeDoc.Value " partir de la colonne F"

'Remettre la protection de ma feuil

Sheets("Type_Doc").Protect Password:="20172018"

tjr demande votre aide.

Bonjour

Je pense que Dhany t'a mis les points sur les i iiiii

Les 3 derniers champs que tu veux mettre dans tes colonnes D, E , F doivent poser problème.

Donc soit tu t'y penches sérieusement, soit tu envoies un extrait de fichier

Merci

voici le fichier joint

Bonjour

Voici ton fichier.

Tu déclenchais un évènement Change qui te remettait les dernières valeurs à zéro.

Bye

mon problème a été resolu a 100%

Mille merci a vous!

Que Dieu vous benisse

Bonsoir

Tant mieux pour vous

A+

Puise avoir quelque explications sur code ?

Bonsoir

J'ai rajouté un booléen Chgt, que je mets à True quand je dois ajouter ou modifier, et que je teste dans évènement Change de cbo_Recherche_Doc

Cet évènement te remettait tout à vide , donc tu ne pouvais enregistrer tes valeurs

Bye

Merci beaucoup

Et bonne nuit

Merci beaucoup

Et bonne nuit

Rechercher des sujets similaires à "modification donnees tableau"