Detection d'une valeur dans une colonne

Bonjour à toutes et à tous,

Cela fait maintenant 2 / 3 jours que je suis sur le même problème et malgré mes nombreuses recherches sur le web je n'arrive pas à trouver la bonne "syntaxe" pour mon code.

Pour contextualiser rapidement, mon tableau est un tableau qui gère le planning de salle de formation sur toute l'année 2019.

Je voulais donc créer une macro permettant à l'administration de pouvoir le remplir plus rapidement/facilement à l'aide d'un formulaire.

Mon problème : Imaginons que je veuille ajouter une formation du 9 Janvier au 11 Janvier. Dans mon formulaire j'ai une case date 1 et une case date 2. Donc date 1 = 9, date 2 = 11

Le problème étant que je n'arrive pas à dire à mon programme que je veux qu'il choisisse la ligne où il y a marqué 9, et non la ligne 9.

J'ai essayé d’être le plus clair possible, je joins ici mon fichier.

Cordialement

Flammz

Bonjour Flammz, bonjour le forum,

Ton code modifié :

Private Sub CommandButton1_Click() 'Pour le bouton Nouveau contact
Dim C As String
Dim L As Integer
Dim val1 As Integer
Dim val2 As Integer

Select Case Me.ComboBox2.Value
    Case "RION ANTIRION"
        C = "D"
    Case "A. DUMEZ"
        C = "E"
    Case "C. REBUFFEL"
        C = "F"
    Case "J. ALLEMAND"
        C = "G"
    Case "E. FREYSSINET"
        C = "H"
    Case "H. TOUYA"
        C = "I"
    Case "SALLE TAPIS"
        C = "J"
    Case "VAN GOGH"
        C = "K"
    Case "RENOIR"
        C = "L"
    Case "CEZANNE"
        C = "M"
    Case "POTAIN"
        C = "N"
    Case "LIEBHERR"
        C = "O"
    Case "TERRAIN"
        C = "P"
    Case "C.MONET"
        C = "Q"
    Case "H.MATTISSE"
        C = "R"
    Case "Chantier 1"
        C = "S"
    Case "Chantier 2"
        C = "T"
End Select
val1 = Ws.Columns(3).Find(Me.TextBox1.Value, , xlValues, xlWhole).Row
val2 = Ws.Columns(3).Find(Me.TextBox2.Value, , xlValues, xlWhole).Row
Ws.Range(.wsCells(val1, C), Ws.Cells(val2, C)).Merge
' 'fusionner 2 cellules : Sheets(5).Range("A4", "G4").MergeCells = True
'If MsgBox("Confirmez-vous l'insertion de ce nouveau contact ?", vbYesNo, "Demande de confirmation d'ajout") = vbYes Then
'    L = Ws.Range("a65536").End(xlUp).Row + 1 'Pour placer le nouvel enregistrement à la première ligne de tableau non vide
'   Ws.Range("A" & L).Value = ComboBox1
'    Ws.Range("B" & L).Value = ComboBox2
'    Ws.Range("C" & L).Value = TextBox1
'    Ws.Range("D" & L).Value = TextBox2
'    Ws.Range("E" & L).Value = TextBox3
'    Ws.Range("F" & L).Value = TextBox4
'    Ws.Range("G" & L).Value = TextBox5
'End If
End Sub

Re-bonjour,

Merci pour ta réponse ça marche Nikel

J'ai une autre question toujours en rapport avec ce projet, (Je marquerais le sujet comme résolu après)

Je récupère le contenu de mon textbox dans un string:

Dim exemple as String
exemple = Textbox0

J'aimerais savoir s'il est possible de changer la couleur de cette chaine de caractère.

J'ai essayé avec des .font.colorIndex, mais ça ne marche qu'avec un Range avant j'ai l'impression :/

Cordialement

Up

Bonsoir Flammz,

tu a écrit :

Je récupère le contenu de mon textbox dans un string ... J'aimerais savoir s'il est possible de changer la couleur de cette chaîne de caractères.

quand une chaîne de caractère est dans une variable VBA, c'est une variable en mémoire vive RAM ; et cette variable est incolore : c'est tout à fait impossible de lui mettre une couleur. [size=95](cela dit, jusqu'ici, ça m'a encore jamais manqué ! )

dhany

Bonjour,

dhany
jean eric

ben il s'améliore pas, le Jean-Eric !

deviendrait-il gâteux ?

dhany

Bonjour,

jean eric

Bon vu que c'est devenu le zoo sans répondre à ma problématique, je réponds à ma propre problématique.

With ActiveCell.Characters(Start:=(variable valeur départ), Length:=(variable valeur longueur, Ici je prends len(TextBox) dans mon cas)).Font
        .Name = "Arial"
        .FontStyle = "Normal"
        .Size = 10
        .Strikethrough = False
        .Superscript = False
        .Subscript = False
        .OutlineFont = False
        .Shadow = False
        .Underline = xlUnderlineStyleNone
        .ColorIndex = 3
        .TintAndShade = 0
        '.Bold = True => Pour le gras en plus
    End With

Merci beaucoup de vos réponses très pertinentes.

Cordialement

Bonsoir Flammz,

tu a écrit :

Je récupère le contenu de mon textbox dans un string ... J'aimerais savoir s'il est possible de changer la couleur de cette chaîne de caractères.

quand une chaîne de caractère est dans une variable VBA, c'est une variable en mémoire vive RAM ; et cette variable est incolore : c'est tout à fait impossible de lui mettre une couleur. (cela dit, jusqu'ici, ça m'a encore jamais manqué ! )

remarque, si tu y tiens absolument, tu as des strings en couleur ... oui, c'est ça, au rayon lingerie.

dhany

Et D'ailleurs dhany, tu n'avais pas besoin de me faire la remarque qu'il y avait des strings en couleur au rayon lingerie. Ta daronne m'en a parlé hier soir.

Mais merci quand même de ta remarque

Bien cordialement

hello Flammz,

j'ai juste fait un jeu de mots entre le mot anglais « string » et le mot français « strings » ; c'était pas du tout pour te gêner ; désolé si ça t'a ennuyé, c'était vraiment pas intentionnel ; j'avais pensé qu'le jeu de mots t'aurait amusé, tant pis.

pour info, j'viens d'éditer le post en question pour supprimer cette phrase qui t'a déplu.


pour ton code VBA, comme tu voulais juste changer la couleur, tu peux le simplifier ainsi, en une seule instruction :

ActiveCell.Characters(k, len(TextBox)).Font.ColorIndex = 3 'k : position du 1er caractère dans la chaîne

dhany

Bonjour,

@ dhany,

Je pourrais répondre, mais on arriverait , à une situation de ce type :

https://forum.excel-pratique.com/viewtopic.php?f=2&t=106259&hilit=dhany+eriiic&start=20

Cela évitera des justifications inutiles.

Cdlt.

Bonjour, ça ne m'a absolument pas gêner, j'ai juste répondu une phrase au niveau de ton jeux de mots

Merci pour la correction, bonne continuation.

Cordialement

@Jean-Eric

tu a écrit :

Je pourrais répondre, mais on arriverait à une situation de ce type

oui, sauf que c'est toi qui me cherche, alors ça arriverait pas si tu m'fichais la paix ! tu peux t'en prendre qu'à toi-même si on en arrive là !

et tu sais très bien que j'continuerai à t'répondre aussi longtemps qu'tu posteras tes messages désagréables, alors à toi de voir !

dhany

@Flammz

merci pour ton post de 09:34, tu me rassures !

bonne continuation à toi aussi !

dhany

Re,

@ Dhany,

Va, lâche toi (encore une fois), le ridicule ne tue pas :...

Cdlt.

jean eric

mais oui, c'est ça, cause toujours...

dhany

Rechercher des sujets similaires à "detection valeur colonne"