Probleme dans VBA

Comment ça ! Tu es déçue ! Tu voulais pas que je réussise ?

Bien sûr que si mais poiaaaa j'ai tellemznt galeré et chercher sur Internet

Par contre tu as juste écris dans le vba ou tu as du faire d'autre manipulation ? Genre dans propriété etç. .. ?

Juste les noms dynamiques de plages et le code VBA, rien d'autre !

Mais tu n'as peut-être pas abouti, mais tu avais bien commencé. Il te faut juste assimiler que lorsque tu as en listes des plages dans l'ordre la propriété ListIndex va te donner facilement la position avec juste un léger décalage constant.

Bonne continuation.

d'accord oui comme j'ai pas vraiment e connaissance

JTE REMERCIE ENORMEMENT EN TOUT CAS !!!!

Bonne continuation a toi aussi

Les connaissances ça viendra ! Ce que tu as fait était dans la bonne voie, et tu as évité de t'engager dans des impasses.

C'est bon signe !

Merci à toi aussi.

Merci cest gentil

Bonjourr,

MFernand !!

je dois encore t’embêter desoléee

J'ai réussi à refaire le formulaire seule ( bon pour le code vba j'avoue avoir juste copier coller) ^^

Par contre je l'ai intégré dans un fichier excel Il y a donc désormais 2 feuilles.

Dans la 1 ère feuille j'ai toujours ma premiere colonne nom/prenom et dans ma 1ere ligne toujours les semaines.

en dessous de semaines j'ai plusieurs colonnes en gros

j'ai par exemple pour la 1 ere semaine ( une colonne avec le chiffre 1 qui permet une comptabilisation; une colonne avec motif et une colonne avec lieu).

je voudrais que lorsque dans une colonne en particuliere il y a le chiffre 1 ( donc dans la 1 ere feuille ) se genere une couleur dans ma feuille 2 ( c'est ce que tu mavais fait)

Le nombre 1 est present si je le saisie dans le classeur (cest toujours 1 )

en gros j'ai

..............A ....................... B........... C..........D

.................................................SEMAINE

1 nom prenom...... motif....lieu...nombre

2 TOTO................................................... 1

3 TATA...................................................... 1

4 TITI ....................................................

5 TOUTO...................................................

6 LOOLO ................................................... 1

Et donc si D2=1 alors dans la feuille 2 j'aurais en fonction du nom et de la semaine la couleur de la cellule verte

Si tu ne vois pas ce que je veux dire au pire je refait un fichier test mais la mon fichier actuelle est celui de ma boite dsl

En te remerciant par avance

J'ai fait ca avec une formule si et un enregistrement

Sub Macro11()

'

' Macro11 Macro'

ActiveCell.FormulaR1C1 = _

"=IF('PLANNING '!R[3]C[1]=Feuil3!RC[-1],IF('PLANNING '!R[-1]C[131]=Feuil3!R[-1]C,IF('PLANNING'!R[3]C[133]=1,1,""""),""""),"""")"

Range("B2").Select

End Sub

ca fonctionne sans la couleur mais je voudrais au moins que ca se fasse en boucle c'est a dire pour tout le monde automatiqument

Vu que j'ai bien retenu la lecon je joint quand meme un fichier excel pour que tu puisses mieux cerner mon probleme

5test-rhi.xlsm (26.09 Ko)

Bonjour,

Là, tu expérimentes que lorsqu'on modifie une configuration, plus rien ne peut fonctionner...

Par conséquent, on définit d'abord la configuration définitive et on met ensuite le programme en place.

Pour l'instant, je ne vois pas très bien comment ça doit fonctionner dans la nouvelle configuration... ?

Ce que tu veux par ailleurs, je ne l'ai pas encore compris : MFC ou autre chose ?

Ton histoire de formule, qui de toute façon ne correspond pas au fichier joint... ?

Petite mise au point :

  • Si tu mets du code dans un post, tu utilises la balise Code pour le rendre un peu plus lisible.
  • Autant que possible, quand tu écris du code, tu l'indentes, je commence à avoir beaucoup de mal à supporter le code pas ou mal indenté (et à me dispenser de le lire). Lorsque je vois un With, je veux retrouver un End With à la verticale exacte sans obstacle entre les deux, de même si je vois un For, je trouve un Next correspondant à la verticale et rien qui coupe, pareil pour un If, je trouve un End If (si instruction non compressée) et éventuellement des ElseIf ou Else sur le même alignement mais rien d'autre, etc.
Et à la marge, j'apprécie autant que possible de ne voir que Sub et End Sub, et s'il y en a des étiquettes de branchement.

Ainsi, quand on lit du code, ça va 4 fois plus vite en moyenne et en plus on comprend ce qu'on lit !

- Pour ce qui est de mettre des formules en VBA, je considère que, sauf exception, c'est une absurdité, et les exceptions sont plutôt rares. Soit on peut mettre une formule dans une feuille Excel normalement, parce que c'est ce qui convient le mieux, soit il est pour diverses raisons préférables d'utiliser VBA et à ce moment-là on ne calcule plus par formules mais avec des moyens VBA et on affecte directement les résultats...

Cordialement.

Ah d'accord, dessolée j'ai essayé de faire avec ce que je trouver sur internet c'est pour ca..

Du coup si j'ai bien compris ce n'est plus possible comme il y a eut des modification ?

Il faut refaire !

La première fois on mettait des "x", maintenant, je ne sais pas ?

Explique un peut plus en détail, et en terminant tes phrases , je regarderai à mon retour (car là je vais m'absenter...)

D'accord pas de soucis

En fait les croix restent toujours, Ça c'est toujours bon

Je veux juste ajouté une précision. Si dans la 1ere feuille il y a dans la colonne Nombre le numéro 1 alors j'aurais la cellule qui se mettra en couleur. C'est pour montrer que la personne x a été présente a ce moment la de la semaine ( d'ou la cellule coloré) et que j'ai bien reçu son document ( grâce a la croix)

Juste la cellule contenant 1 à colorer ?

Et la croix dans quelle colonne ?

NanEn fait la croix reste à sa place on ne touche à rien sur ca. Et lorsqil y a un 1 dans la feuille numéro 2 ( la nouvelle feuillz rajouter )je souhaite que la cellule correspondant au nom et a la semaine se colore en une couleur dans la feuille numéro 1 ( celle que tu m'as faite)

En gros si j'ai un 1 alors je coloré automatiquement la cellule correspondant dan lautre feuille.

Et après je rajoute la croix à l'aide de mon formulaire

Après l'ordre de la croix et de la couleur ne change rien

Je ne suis pas sûr d'avoir compris ce que tu voulais , mais j'ai cru interpréter qu'il fallait colorer les cellules de Feuil1 (celles dans lesquelles tu mets de croix) si dans les semaines correspondantes de Feuil4, pour le nom, il y avait 1.

Donc on est passé par une MFC...

Mais pour la faire fonctionner, une fonction personnalisée qui, à partir d'une cellule de Feuil1 peut renvoyer VRAI si dans la cellule correspondante de Feuil4 il y a 1 ! Un peu baroque mais il fallait au moins ça

Et deux plages nommées sur Feuil4 pour parvenir à calculer sans trop de complications.

Ouf !

Hello

OuI Cest toout a fait ca que je souhaitais

par contre cest normal que ca ne se modifie pas lorsque par ex exemple on retire certain 1 ?

J'ai l'impression ca ne se genere pas automatiquement

Bonjour,

La fonction est bien volatile, mais c'est une situation qu'apparemment Excel gère mal...

Pour l'aider :

Private Sub Worksheet_Activate()
    With Me.Range("C2").FormatConditions(1).AppliesTo
        .FormatConditions(1).Delete
    End With
    With [sem].Offset(1).Resize([nmpnm].Rows.Count).FormatConditions.Add(xlExpression, , "=ESTUN(C2)")
        .Interior.Color = RGB(0, 176, 80)
    End With
End Sub

Tu mets cette proc. évènementielle dans le module de Feuil1 : à chaque activation de la feuille, elle supprimer la MFC et la recréer.

Cela facilitera la mise à jour

Intérêt supplémentaire tout de même, c'est qu'elle recalcule la plage d'application, ainsi tu n'auras pas à la modifier manuellement lorsque tu étendras la plage vers la droite en ajoutant des semaines et vers le bas en ajoutant des noms.

Cordialement.

HAAAAAN super je te remercie beaucoup pour tout ton aide merciiiii !!!!

C'est tellement géniale ca marche super bien !

Par contre ca serait possible de m'expliqur ce que représente

s = c.Cells(2 - c.Row, 1)

nm = c.Cells(1, 2 - c.Column)

[nmpnm2]

.Cells(i, 1)

[mln].Cells(1, s * 3).Offset(i) = 1

tous les 2 etc ....

Rechercher des sujets similaires à "probleme vba"