XL 2016 Modifier une cellule précise avec macro

Sacha1980

XLDnaute Nouveau
Hellos tout le monde,

Je viens vers vous pour tenter de solutionner un souci que je ne sais pas comment résoudre car je suis un super débutant en VBA.

En fouinant un peu sur le forum pour trouver ce que je recherchais, je suis tombé sur ce lien avec le fichier de :
Papou-net

C'est pile-poil ce que je recherche. Bien entendu, j'ai modifié le code car certains éléments ne m'intéressais pas !

Par contre, en rapport avec ce que je veux réellement, soit modifier une cellule précise, je ne sais pas si le code est correct ou non car celui-ci à l'origine était fait pour une plage de cellule allant de A1 à C6 ?? Tout ce que je sais, c'est que cela fonctionne avec ma modification.

Cependant, j'aimerais beaucoup, que je ne sois pas dans l'obligation de devoir me trouver sur la cellule que j'aurais désignée sur mon fichier où le code sera placer car il sera très loin et cacher dans la feuille puisque je vais me servir de cette cellule en la copiant et en la collant sous forme d'image liée avec d'autres cellules qui eux ne seront pas modifiables !

Le but étant de mettre une série de cellules en image et pouvoir coller cette image sur un endroit toujours visible sur ma feuille grâce au figer du début de mon tableau et comme vous le savez, on ne peut pas mettre plusieurs cellules dans une même cellule lol d'où l'intérêt de cette image qui comportera les données et qui se modifiera sur l'image en même temps que les données des cellules normales.

Donc pour les connaisseurs que vous êtes en VBA est-ce que d'abord le code est correct ?
Et de l'autre est-ce possible de faire en sorte que je ne sois pas dans l'obligation de me positionner sur la cellule en question en cliquant sur le bouton qui ouvre l'userForm fin la boîte de dialogue ?

il est à savoir, c'est volontaire le fait d'avoir placé un bout de code qui sélectionne la cellule Z5 sur le fichier ci-joint car sinon parfois j'ai une alerte de débogage si je ne suis pas sur la cellule, je n'ai pas encore trop bien compris pourquoi j'ai cette alerte quand je ne suis pas sur la cellule Z5 en voulant modifier via le bouton de modification, mais bon, c'est parfois, mais il serait bien que cela ne le fasse plus sinon je ne pourrais pas déployer mon fichier avec un souci ainsi qui arrive parfois !

Merci à vous pour votre aide, je vous laisse le fichier de test c'est plus explicite je pense lol

Sacha.
 

Pièces jointes

  • Test.xlsm
    25.6 KB · Affichages: 15

Sacha1980

XLDnaute Nouveau
Bonjour.
Mettre Unload Me derrière.
Merci, excuse-moi, mais comme je suis très débutant, si tu ne me dis pas à quelle ligne et comment exactement ajouter correctement ce morceau de code, je ne vais jamais y arriver !

Moi j'ai essayé de mettre derrière chacune des lignes, mais j'ai que des erreurs !! J'apprends en voyant comment est réalisé le code. est-ce que tu peux me faire la ligne avec ce rajout de code Stp ?

Merci pour ton aide.

Sacha.
 

Sacha1980

XLDnaute Nouveau
C'est une instruction qui décharge l'UserForm de la mémoire.
Il y a aussi Me.Hide qui le ferme seulement, sans le décharger.
Re,

J'ai réussi à trouver comment le placer, moi tu me disais derrière, je pensais à la fin de la ligne de code lol, mais non, c'est sur une nouvelle ligne. J'ai fait ainsi :

VB:
Private Sub CommandButton1_Click()
   Modif = True
   If Cel Is Nothing Then Set Cel = ActiveSheet.[AI4]
   Unload Me
   Cel.Value = TextBox1.Value
   End Sub

Par contre, il n'existe pas un code qui convertit le code couleur VB parce que le code VB de type &H006050DC& lol rien à voir avec la couleur Héxadécimal #6050DC, quand je le mets dans leur format mdr c'est une autre couleur qui me sort !

Merci.
 

Dranreb

XLDnaute Barbatruc
Normalement si, Cel.Interior.Color = &H6050DC doit mettre ce code de couleur.
1613494327297.png

Vérification effectuée avec cet outil :
 

Dranreb

XLDnaute Barbatruc
Remarquez, le rouge et le bleu sont intervertis notamment dans les fichier bmp mais aussi dans l'affichage de la couleur en hexa dans Paint.net par exemple. Une de ces deux couleurs est-elle celle que vous auriez voulue ?
1613496356770.png

Si c'est la seconde, vous pourriez aussi mettre Cel.Interior.Color = RGB(96, 80, 220)
 

Sacha1980

XLDnaute Nouveau
Remarquez, le rouge et le bleu sont intervertis notamment dans les fichier bmp mais aussi dans l'affichage de la couleur en hexa dans Paint.net par exemple. Une de ces deux couleurs est-elle celle que vous auriez voulue ?
Regarde la pièce jointe 1095857
Si c'est la seconde, vous pourriez aussi mettre Cel.Interior.Color = RGB(96, 80, 220)
Re,

Non pas spécialement, c'est plus dans un bleu très clair, mais il me collait une autre couleur lol, pas grave, j'ai téléchargé ton fichier et je tes laisser un avis sur la section concernée.
 

Dranreb

XLDnaute Barbatruc
J'ai vu, et j'ai mis une réponse, merci.
Ça m'intrigue cette histoire de bleu très clair. La cellule ferait-elle partie d'un tableau ou serait-elle induite par une mise en forme conditionnellle ? Dans ces deux cas elle ne résulte plus de sa propriété Interior.
 

Sacha1980

XLDnaute Nouveau
J'ai vu, et j'ai mis une réponse, merci.
Ça m'intrigue cette histoire de bleu très clair. La cellule ferait-elle partie d'un tableau ou serait-elle induite par une mise en forme conditionnellle ? Dans ces deux cas elle ne résulte plus de sa propriété Interior.
Re,

Mais de rien.

Non rien à voir avec une cellule, c'est pour la couleur du fond de mon USF, et j'avais choisi un bleu en code hexadécimal que j'avais collé dans le code hexadécimal long et lol ce n'était pas du bleu, mais une autre couleur mdrrrrrr.

j'ai une petite demande et peut-être que tu auras la solution, bien que logiquement, je devrais ouvrir un nouveau sujet pour cette nouvelle demande.

J'ai un code qui comme toi sur ton tableau de couleur, permet d'effacer une ligne ou la supprimer et qui suit selon la ligne ou je me trouve.

Par contre, j'aimerais que la partie effacer la ligne ne supprime qu'une plage de cellule exemple de C3 à P3 car la première colonne sont des pseudos de joueur et donc on ne supprime pas forcément le pseudo, donc cette colonne le joueur doit l'effacer manuellement si changement de pseudo par exemple.

Le code que j'ai c'est cela :

VB:
Shapes("Effacer").Top = Range("Q" & Target.Row).Top

Et la macro dans le module :


VB:
Sub Effacce()

Dim ligne As Integer

For ligne 3 To 10000

If ActivateCell.Value <> "" Then

ActivateCell.EntireRow.ClearContents

Exit Sub

End If

Next ligne

End Sub

Est-ce possible de faire en sorte que cela efface juste une plage de cellule comme sur mon tableau la plage C3 à P3 et suivant les lignes suivantes donc C4 à P4 etc....... ?

Aussi, j'ai vu une fonction sur ton tableau qui permet d'ajouter une nouvelle ligne au tableau et que cette fonction copie le contenu de la cellule couleur.

Est-ce possible que tu me fasses cette même fonction et qui copie la cellule D7 qui dans cette colonne ce sont des noms d'objets de collection et la cellule C7 qui dans cette colonne sont des images ?


Si nécessaire, je peux ouvrir un nouveau sujet si cela est plus étique au forum, je lance juste cette demande car j'ai vu que tu avais cette fonction sur ton tableau de couleur.

Merci pour ton aide.

Sacha.
 

Statistiques des forums

Discussions
312 155
Messages
2 085 815
Membres
102 991
dernier inscrit
remyexcel