Je souhaiterai int=E9grer des formules en VBA afin d'all=E9ger,
d'acc=E9l=E9rer mon fichier.
[C6:C3000] sont des lieux =E0 compl=E9ter selon une liste d=E9roulante
depuis "Liste_Eta" =3DDonn=E9es!$A$2:$A$70
Chaque lieux se terminent par la lettre "E" ou "M".
J'ai entr=E9 la formule en I6 suivante =3DDROITE($C6;1) que j'ai recopi=E9e
en [I6:I3000].
Est il possible d'entrer une formule en vba, plut=F4t que cette
recopie ?
Je souhaiterai d'une part,
que si en I6 j'ai la lettre "E" alors la colonne [L:L] soit masqu=E9e,
que si en I6 j'ai la lettre "M" alors la colonne [J:J] soit masqu=E9e.
Est ce possible en vba ?
D'autre part, les trois colonnes J, K, L sont renseign=E9es chacune par
une liste d=E9roulante sur le m=EAme principe que ci dessus.
En J nous aurons "BCD", "EPL" et "IC"; en K nous aurons "EPL" et "GR"
et en L nous aurons "BCD" et "ET".
En "M" je souhaiterai que si "BCD", "EPL" sont une des valeurs de J,K
ou L alors inscrire la valeur "NePasRemplacer".
J'ai donc entrer la formule conditionnelle
=3DSI(OU($J7=3D"bcd";$J7=3D"epl";$K7=3D"epl";$L7=3D"bcd");"NePasRemplacer";=
"=E0
faire")
Or, j'avais param=E9trer les colonnes [A:H] vis =E0 vis de la valeur des
cette colonne M, en fait [M6:M3000], en mise en forme conditionnelle
(MEFC) =3DET($B6>=3DTODAY;ESTVIDE($M6)).
qui du coup n'est plus vide !!!
Est ce envisageable de transcrire tout ceci par de la programmation
VBA ?
D'avance merci pour vos pr=E9cieuses collaborations ainsi que vos
=E9clairages salvateurs.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Sam
Bonjour, il y a des choses que je ne comprends pas :
"que si en I6 j'ai la lettre "E" alors la colonne [L:L] soit masquée, "que si en I6 j'ai la lettre "M" alors la colonne [J:J] soit masquée. pourquoi cacher toute une colonne en fonction de I6, et pourquoi pas en fonction de I7 ou I8 ?
- en M , faut qu'il y ait absolument jusqu'en bas du tableau une de ces 2 expressions "NePasRemplacer" "à faire" On peut peut être envisager qu'il n'y ait rien afin que la MFC fonctionne.
- je crois que dans la MFC, la fonction à utiliser est AUJOURDHUI() et non TODAY()
- la macro qui remplirait tout ça, serait à déclencher à quelle occasion et comment ?
- on peut aussi envisager tout faire par formule mais avec un calcul sur ordre (F9) afin de pas perdre de temps
Cordialement Michel dit "Sam"
"JeanYvesGascon" a écrit dans le message de news: Bonjour à toutes & tous
Je souhaiterai intégrer des formules en VBA afin d'alléger, d'accélérer mon fichier.
[C6:C3000] sont des lieux à compléter selon une liste déroulante depuis "Liste_Eta" =Données!$A$2:$A$70 Chaque lieux se terminent par la lettre "E" ou "M". J'ai entré la formule en I6 suivante =DROITE($C6;1) que j'ai recopiée en [I6:I3000]. Est il possible d'entrer une formule en vba, plutôt que cette recopie ?
Je souhaiterai d'une part, que si en I6 j'ai la lettre "E" alors la colonne [L:L] soit masquée, que si en I6 j'ai la lettre "M" alors la colonne [J:J] soit masquée. Est ce possible en vba ?
D'autre part, les trois colonnes J, K, L sont renseignées chacune par une liste déroulante sur le même principe que ci dessus. En J nous aurons "BCD", "EPL" et "IC"; en K nous aurons "EPL" et "GR" et en L nous aurons "BCD" et "ET". En "M" je souhaiterai que si "BCD", "EPL" sont une des valeurs de J,K ou L alors inscrire la valeur "NePasRemplacer". J'ai donc entrer la formule conditionnelle =SI(OU($J7="bcd";$J7="epl";$K7="epl";$L7="bcd");"NePasRemplacer";"à faire") Or, j'avais paramétrer les colonnes [A:H] vis à vis de la valeur des cette colonne M, en fait [M6:M3000], en mise en forme conditionnelle (MEFC) =ET($B6>=TODAY;ESTVIDE($M6)). qui du coup n'est plus vide !!!
Est ce envisageable de transcrire tout ceci par de la programmation VBA ?
D'avance merci pour vos précieuses collaborations ainsi que vos éclairages salvateurs.
Bon courage
Jean-Yves
Bonjour,
il y a des choses que je ne comprends pas :
"que si en I6 j'ai la lettre "E" alors la colonne [L:L] soit masquée,
"que si en I6 j'ai la lettre "M" alors la colonne [J:J] soit masquée.
pourquoi cacher toute une colonne en fonction de I6, et pourquoi pas en
fonction de I7 ou I8 ?
- en M , faut qu'il y ait absolument jusqu'en bas du tableau une de ces 2
expressions "NePasRemplacer" "à faire"
On peut peut être envisager qu'il n'y ait rien afin que la MFC fonctionne.
- je crois que dans la MFC, la fonction à utiliser est AUJOURDHUI() et non
TODAY()
- la macro qui remplirait tout ça, serait à déclencher à quelle occasion et
comment ?
- on peut aussi envisager tout faire par formule mais avec un calcul sur
ordre (F9) afin de pas perdre de temps
Cordialement
Michel dit "Sam"
"JeanYvesGascon" <jeanyves.gascon@gmail.com> a écrit dans le message de
news: 9c9aaa53-1555-482f-b608-c8fe51f1b836@y11g2000yqm.googlegroups.com...
Bonjour à toutes & tous
Je souhaiterai intégrer des formules en VBA afin d'alléger,
d'accélérer mon fichier.
[C6:C3000] sont des lieux à compléter selon une liste déroulante
depuis "Liste_Eta" =Données!$A$2:$A$70
Chaque lieux se terminent par la lettre "E" ou "M".
J'ai entré la formule en I6 suivante =DROITE($C6;1) que j'ai recopiée
en [I6:I3000].
Est il possible d'entrer une formule en vba, plutôt que cette
recopie ?
Je souhaiterai d'une part,
que si en I6 j'ai la lettre "E" alors la colonne [L:L] soit masquée,
que si en I6 j'ai la lettre "M" alors la colonne [J:J] soit masquée.
Est ce possible en vba ?
D'autre part, les trois colonnes J, K, L sont renseignées chacune par
une liste déroulante sur le même principe que ci dessus.
En J nous aurons "BCD", "EPL" et "IC"; en K nous aurons "EPL" et "GR"
et en L nous aurons "BCD" et "ET".
En "M" je souhaiterai que si "BCD", "EPL" sont une des valeurs de J,K
ou L alors inscrire la valeur "NePasRemplacer".
J'ai donc entrer la formule conditionnelle
=SI(OU($J7="bcd";$J7="epl";$K7="epl";$L7="bcd");"NePasRemplacer";"à
faire")
Or, j'avais paramétrer les colonnes [A:H] vis à vis de la valeur des
cette colonne M, en fait [M6:M3000], en mise en forme conditionnelle
(MEFC) =ET($B6>=TODAY;ESTVIDE($M6)).
qui du coup n'est plus vide !!!
Est ce envisageable de transcrire tout ceci par de la programmation
VBA ?
D'avance merci pour vos précieuses collaborations ainsi que vos
éclairages salvateurs.
Bonjour, il y a des choses que je ne comprends pas :
"que si en I6 j'ai la lettre "E" alors la colonne [L:L] soit masquée, "que si en I6 j'ai la lettre "M" alors la colonne [J:J] soit masquée. pourquoi cacher toute une colonne en fonction de I6, et pourquoi pas en fonction de I7 ou I8 ?
- en M , faut qu'il y ait absolument jusqu'en bas du tableau une de ces 2 expressions "NePasRemplacer" "à faire" On peut peut être envisager qu'il n'y ait rien afin que la MFC fonctionne.
- je crois que dans la MFC, la fonction à utiliser est AUJOURDHUI() et non TODAY()
- la macro qui remplirait tout ça, serait à déclencher à quelle occasion et comment ?
- on peut aussi envisager tout faire par formule mais avec un calcul sur ordre (F9) afin de pas perdre de temps
Cordialement Michel dit "Sam"
"JeanYvesGascon" a écrit dans le message de news: Bonjour à toutes & tous
Je souhaiterai intégrer des formules en VBA afin d'alléger, d'accélérer mon fichier.
[C6:C3000] sont des lieux à compléter selon une liste déroulante depuis "Liste_Eta" =Données!$A$2:$A$70 Chaque lieux se terminent par la lettre "E" ou "M". J'ai entré la formule en I6 suivante =DROITE($C6;1) que j'ai recopiée en [I6:I3000]. Est il possible d'entrer une formule en vba, plutôt que cette recopie ?
Je souhaiterai d'une part, que si en I6 j'ai la lettre "E" alors la colonne [L:L] soit masquée, que si en I6 j'ai la lettre "M" alors la colonne [J:J] soit masquée. Est ce possible en vba ?
D'autre part, les trois colonnes J, K, L sont renseignées chacune par une liste déroulante sur le même principe que ci dessus. En J nous aurons "BCD", "EPL" et "IC"; en K nous aurons "EPL" et "GR" et en L nous aurons "BCD" et "ET". En "M" je souhaiterai que si "BCD", "EPL" sont une des valeurs de J,K ou L alors inscrire la valeur "NePasRemplacer". J'ai donc entrer la formule conditionnelle =SI(OU($J7="bcd";$J7="epl";$K7="epl";$L7="bcd");"NePasRemplacer";"à faire") Or, j'avais paramétrer les colonnes [A:H] vis à vis de la valeur des cette colonne M, en fait [M6:M3000], en mise en forme conditionnelle (MEFC) =ET($B6>=TODAY;ESTVIDE($M6)). qui du coup n'est plus vide !!!
Est ce envisageable de transcrire tout ceci par de la programmation VBA ?
D'avance merci pour vos précieuses collaborations ainsi que vos éclairages salvateurs.
Bon courage
Jean-Yves
Sam
Bonjour, en attendant d'avoir plus de précisions pour le pb des colonnes cachées et des cellules de M:M vides j'ai commencé cette macro pour les lignes 6 à 10 :
Sub remplir_I() ' ' Dim i As Integer Dim coffret As Range For i = 6 To 10
' mise en place de la dernière lettre de C en I Cells(i, 9).Value = Right(Cells(i, 3).Value, 1)
'commentaire en colonne M fonction du contenu des colonnes J, K , L 'attention sensible à la casse, respecter les majuscules des textes If (Cells(i, 10).Value = "BCD") Or (Cells(i, 10).Value = "EPL") _ Or (Cells(i, 11).Value = "EPL") Or (Cells(i, 12).Value = "BCD") Then Cells(i, 13).Value = "NePasRemplacer" Else Cells(i, 13).Value = "à faire" End If
'mise en couleur de A à H ' la condition date est pour l'instant seule utilisée If (Cells(i, 2).Value >= Date) Then For Each coffret In Range(Cells(i, 1), Cells(i, 8)) coffret.Interior.ColorIndex = 43 Next coffret Else For Each coffret In Range(Cells(i, 1), Cells(i, 8)) coffret.Interior.ColorIndex = xlColorIndexNone Next coffret End If
'on y va pour la prochaine ligne Next i
' cacher colonne ' uniquement fonction de I6 If (Cells(6, 9).Value = "E") Then Columns("L:L").EntireColumn.Hidden = True Else Columns("L:L").EntireColumn.Hidden = False End If
If (Cells(6, 9).Value = "M") Then Columns("J:J").EntireColumn.Hidden = True Else Columns("J:J").EntireColumn.Hidden = False End If End Sub
Cordialement Michel dit "Sam"
"JeanYvesGascon" a écrit dans le message de news: Bonjour à toutes & tous
Je souhaiterai intégrer des formules en VBA afin d'alléger, d'accélérer mon fichier.
[C6:C3000] sont des lieux à compléter selon une liste déroulante depuis "Liste_Eta" =Données!$A$2:$A$70 Chaque lieux se terminent par la lettre "E" ou "M". J'ai entré la formule en I6 suivante =DROITE($C6;1) que j'ai recopiée en [I6:I3000]. Est il possible d'entrer une formule en vba, plutôt que cette recopie ?
Je souhaiterai d'une part, que si en I6 j'ai la lettre "E" alors la colonne [L:L] soit masquée, que si en I6 j'ai la lettre "M" alors la colonne [J:J] soit masquée. Est ce possible en vba ?
D'autre part, les trois colonnes J, K, L sont renseignées chacune par une liste déroulante sur le même principe que ci dessus. En J nous aurons "BCD", "EPL" et "IC"; en K nous aurons "EPL" et "GR" et en L nous aurons "BCD" et "ET". En "M" je souhaiterai que si "BCD", "EPL" sont une des valeurs de J,K ou L alors inscrire la valeur "NePasRemplacer". J'ai donc entrer la formule conditionnelle =SI(OU($J7="bcd";$J7="epl";$K7="epl";$L7="bcd");"NePasRemplacer";"à faire") Or, j'avais paramétrer les colonnes [A:H] vis à vis de la valeur des cette colonne M, en fait [M6:M3000], en mise en forme conditionnelle (MEFC) =ET($B6>=TODAY;ESTVIDE($M6)). qui du coup n'est plus vide !!!
Est ce envisageable de transcrire tout ceci par de la programmation VBA ?
D'avance merci pour vos précieuses collaborations ainsi que vos éclairages salvateurs.
Bon courage
Jean-Yves
Bonjour,
en attendant d'avoir plus de précisions pour le pb des colonnes cachées et
des cellules de M:M vides
j'ai commencé cette macro pour les lignes 6 à 10 :
Sub remplir_I()
'
'
Dim i As Integer
Dim coffret As Range
For i = 6 To 10
' mise en place de la dernière lettre de C en I
Cells(i, 9).Value = Right(Cells(i, 3).Value, 1)
'commentaire en colonne M fonction du contenu des colonnes J, K , L
'attention sensible à la casse, respecter les majuscules des textes
If (Cells(i, 10).Value = "BCD") Or (Cells(i, 10).Value = "EPL") _
Or (Cells(i, 11).Value = "EPL") Or (Cells(i, 12).Value = "BCD") Then
Cells(i, 13).Value = "NePasRemplacer"
Else
Cells(i, 13).Value = "à faire"
End If
'mise en couleur de A à H
' la condition date est pour l'instant seule utilisée
If (Cells(i, 2).Value >= Date) Then
For Each coffret In Range(Cells(i, 1), Cells(i, 8))
coffret.Interior.ColorIndex = 43
Next coffret
Else
For Each coffret In Range(Cells(i, 1), Cells(i, 8))
coffret.Interior.ColorIndex = xlColorIndexNone
Next coffret
End If
'on y va pour la prochaine ligne
Next i
' cacher colonne
' uniquement fonction de I6
If (Cells(6, 9).Value = "E") Then
Columns("L:L").EntireColumn.Hidden = True
Else
Columns("L:L").EntireColumn.Hidden = False
End If
If (Cells(6, 9).Value = "M") Then
Columns("J:J").EntireColumn.Hidden = True
Else
Columns("J:J").EntireColumn.Hidden = False
End If
End Sub
Cordialement
Michel dit "Sam"
"JeanYvesGascon" <jeanyves.gascon@gmail.com> a écrit dans le message de
news: 9c9aaa53-1555-482f-b608-c8fe51f1b836@y11g2000yqm.googlegroups.com...
Bonjour à toutes & tous
Je souhaiterai intégrer des formules en VBA afin d'alléger,
d'accélérer mon fichier.
[C6:C3000] sont des lieux à compléter selon une liste déroulante
depuis "Liste_Eta" =Données!$A$2:$A$70
Chaque lieux se terminent par la lettre "E" ou "M".
J'ai entré la formule en I6 suivante =DROITE($C6;1) que j'ai recopiée
en [I6:I3000].
Est il possible d'entrer une formule en vba, plutôt que cette
recopie ?
Je souhaiterai d'une part,
que si en I6 j'ai la lettre "E" alors la colonne [L:L] soit masquée,
que si en I6 j'ai la lettre "M" alors la colonne [J:J] soit masquée.
Est ce possible en vba ?
D'autre part, les trois colonnes J, K, L sont renseignées chacune par
une liste déroulante sur le même principe que ci dessus.
En J nous aurons "BCD", "EPL" et "IC"; en K nous aurons "EPL" et "GR"
et en L nous aurons "BCD" et "ET".
En "M" je souhaiterai que si "BCD", "EPL" sont une des valeurs de J,K
ou L alors inscrire la valeur "NePasRemplacer".
J'ai donc entrer la formule conditionnelle
=SI(OU($J7="bcd";$J7="epl";$K7="epl";$L7="bcd");"NePasRemplacer";"à
faire")
Or, j'avais paramétrer les colonnes [A:H] vis à vis de la valeur des
cette colonne M, en fait [M6:M3000], en mise en forme conditionnelle
(MEFC) =ET($B6>=TODAY;ESTVIDE($M6)).
qui du coup n'est plus vide !!!
Est ce envisageable de transcrire tout ceci par de la programmation
VBA ?
D'avance merci pour vos précieuses collaborations ainsi que vos
éclairages salvateurs.
Bonjour, en attendant d'avoir plus de précisions pour le pb des colonnes cachées et des cellules de M:M vides j'ai commencé cette macro pour les lignes 6 à 10 :
Sub remplir_I() ' ' Dim i As Integer Dim coffret As Range For i = 6 To 10
' mise en place de la dernière lettre de C en I Cells(i, 9).Value = Right(Cells(i, 3).Value, 1)
'commentaire en colonne M fonction du contenu des colonnes J, K , L 'attention sensible à la casse, respecter les majuscules des textes If (Cells(i, 10).Value = "BCD") Or (Cells(i, 10).Value = "EPL") _ Or (Cells(i, 11).Value = "EPL") Or (Cells(i, 12).Value = "BCD") Then Cells(i, 13).Value = "NePasRemplacer" Else Cells(i, 13).Value = "à faire" End If
'mise en couleur de A à H ' la condition date est pour l'instant seule utilisée If (Cells(i, 2).Value >= Date) Then For Each coffret In Range(Cells(i, 1), Cells(i, 8)) coffret.Interior.ColorIndex = 43 Next coffret Else For Each coffret In Range(Cells(i, 1), Cells(i, 8)) coffret.Interior.ColorIndex = xlColorIndexNone Next coffret End If
'on y va pour la prochaine ligne Next i
' cacher colonne ' uniquement fonction de I6 If (Cells(6, 9).Value = "E") Then Columns("L:L").EntireColumn.Hidden = True Else Columns("L:L").EntireColumn.Hidden = False End If
If (Cells(6, 9).Value = "M") Then Columns("J:J").EntireColumn.Hidden = True Else Columns("J:J").EntireColumn.Hidden = False End If End Sub
Cordialement Michel dit "Sam"
"JeanYvesGascon" a écrit dans le message de news: Bonjour à toutes & tous
Je souhaiterai intégrer des formules en VBA afin d'alléger, d'accélérer mon fichier.
[C6:C3000] sont des lieux à compléter selon une liste déroulante depuis "Liste_Eta" =Données!$A$2:$A$70 Chaque lieux se terminent par la lettre "E" ou "M". J'ai entré la formule en I6 suivante =DROITE($C6;1) que j'ai recopiée en [I6:I3000]. Est il possible d'entrer une formule en vba, plutôt que cette recopie ?
Je souhaiterai d'une part, que si en I6 j'ai la lettre "E" alors la colonne [L:L] soit masquée, que si en I6 j'ai la lettre "M" alors la colonne [J:J] soit masquée. Est ce possible en vba ?
D'autre part, les trois colonnes J, K, L sont renseignées chacune par une liste déroulante sur le même principe que ci dessus. En J nous aurons "BCD", "EPL" et "IC"; en K nous aurons "EPL" et "GR" et en L nous aurons "BCD" et "ET". En "M" je souhaiterai que si "BCD", "EPL" sont une des valeurs de J,K ou L alors inscrire la valeur "NePasRemplacer". J'ai donc entrer la formule conditionnelle =SI(OU($J7="bcd";$J7="epl";$K7="epl";$L7="bcd");"NePasRemplacer";"à faire") Or, j'avais paramétrer les colonnes [A:H] vis à vis de la valeur des cette colonne M, en fait [M6:M3000], en mise en forme conditionnelle (MEFC) =ET($B6>=TODAY;ESTVIDE($M6)). qui du coup n'est plus vide !!!
Est ce envisageable de transcrire tout ceci par de la programmation VBA ?
D'avance merci pour vos précieuses collaborations ainsi que vos éclairages salvateurs.