OVH Cloud OVH Cloud

Macro pour fonction répétitive

8 réponses
Avatar
Daniel Campion
Bonjour à Tous........

J'ai une colonne de chiffres avec des blancs (cellules vides) dans la
structure.

J'aimerais garder cette colonne en l'état, mais pouvoir modifier les
chiffres de 2% par exemple, sans que les blancs (cellules vides) soit
remplacé par des 0.

Une macro qui se mordrait la queue et s'arrèterait toute seule au bout de
10 blancs (cellules vides) consécutives.

Est- possible.!...............Je l'espère..........Merci d'avance

Salutations...........Bon Courage.........DC

8 réponses

Avatar
ST
Tu te fais tout simplement une boucle sur toutes les cellules de ta feuille
de calcul. Pour trouver la dernière cellule d'un onglet, tu as la fonction
suivante :

Cells.SpecialCells(xlCellTypeLastCell)

Le code suivant scrute toutes les cellules non vides de la colonne B et les
incrémente de + 2%.


For i = 1 To Cells.SpecialCells(xlCellTypeLastCell).Row
If Range("B" & i).Value = "" Then
Else
Range("B" & i).Value = Range("B" & i).Value * 1.02
End If
Next i


Bonne chance

ST

"Daniel Campion" a écrit dans le message de
news:4305e987$0$25045$
Bonjour à Tous........

J'ai une colonne de chiffres avec des blancs (cellules vides) dans la
structure.

J'aimerais garder cette colonne en l'état, mais pouvoir modifier les
chiffres de 2% par exemple, sans que les blancs (cellules vides) soit
remplacé par des 0.

Une macro qui se mordrait la queue et s'arrèterait toute seule au bout de
10 blancs (cellules vides) consécutives.

Est- possible.!...............Je l'espère..........Merci d'avance

Salutations...........Bon Courage.........DC




Avatar
RGI
bonjour

voir Outils / Options / Affichage
décocher : valeur zéro

salutations

Gilbert
"Daniel Campion" a écrit dans le message de news:
4305e987$0$25045$
Bonjour à Tous........

J'ai une colonne de chiffres avec des blancs (cellules vides) dans la
structure.

J'aimerais garder cette colonne en l'état, mais pouvoir modifier les
chiffres de 2% par exemple, sans que les blancs (cellules vides) soit
remplacé par des 0.

Une macro qui se mordrait la queue et s'arrèterait toute seule au bout de
10 blancs (cellules vides) consécutives.

Est- possible.!...............Je l'espère..........Merci d'avance

Salutations...........Bon Courage.........DC




Avatar
garnote
Salut Daniel,

En supposant que tes valeurs soient
sélectionnées dans la colonne 1,
peut-être que :

Sub essai()
NL = Selection.Rows.Count
For i = 1 To NL
If Cells(i, 1) = "" Then
k = k + 1
If k = 10 Then Exit Sub
Else
k = 0
Cells(i, 1).Value = 1.02 * Cells(i, 1)
End If
Next i
End Sub

Serge


"Daniel Campion" a écrit dans le message de news:
4305e987$0$25045$
Bonjour à Tous........

J'ai une colonne de chiffres avec des blancs (cellules vides) dans la
structure.

J'aimerais garder cette colonne en l'état, mais pouvoir modifier les
chiffres de 2% par exemple, sans que les blancs (cellules vides) soit
remplacé par des 0.

Une macro qui se mordrait la queue et s'arrèterait toute seule au bout de
10 blancs (cellules vides) consécutives.

Est- possible.!...............Je l'espère..........Merci d'avance

Salutations...........Bon Courage.........DC




Avatar
michdenis
Bonjour Daniel,

Tu copies dans une cellule vide .02 ou 1.02 selon la variation que tu veux faire subir à ta colonne

Tu copies dans le presse-papier la cellule

Tu sélectionnes ta colonnes que tu veux modifier

Barre des menus / édition / atteindre / cellules / "Constantes ou Formules" selon ce que tu as dans tes cellules, Et tu coches
"nombre seulement"

Barre des menus / édition / collage spécial / Multiplacation,

Voilà !


Salutations!





"Daniel Campion" a écrit dans le message de news: 4305e987$0$25045$
Bonjour à Tous........

J'ai une colonne de chiffres avec des blancs (cellules vides) dans la
structure.

J'aimerais garder cette colonne en l'état, mais pouvoir modifier les
chiffres de 2% par exemple, sans que les blancs (cellules vides) soit
remplacé par des 0.

Une macro qui se mordrait la queue et s'arrèterait toute seule au bout de
10 blancs (cellules vides) consécutives.

Est- possible.!...............Je l'espère..........Merci d'avance

Salutations...........Bon Courage.........DC
Avatar
DC
Bonsoir à Tous...

Après essais de toutes vos réponses appréciés,

ST + RGI + garmote + michdenis

Je pense retenir celle de ST, elle doit corresponde à mon attente.

Un grand Merci à vous Tous...........

Salutations..........Encore Merci..........DC


"ST" a écrit dans le message de news:
de4q1b$
Tu te fais tout simplement une boucle sur toutes les cellules de ta
feuille
de calcul. Pour trouver la dernière cellule d'un onglet, tu as la fonction
suivante :

Cells.SpecialCells(xlCellTypeLastCell)

Le code suivant scrute toutes les cellules non vides de la colonne B et
les
incrémente de + 2%.


For i = 1 To Cells.SpecialCells(xlCellTypeLastCell).Row
If Range("B" & i).Value = "" Then
Else
Range("B" & i).Value = Range("B" & i).Value * 1.02
End If
Next i


Bonne chance

ST

"Daniel Campion" a écrit dans le message de
news:4305e987$0$25045$
Bonjour à Tous........

J'ai une colonne de chiffres avec des blancs (cellules vides) dans la
structure.

J'aimerais garder cette colonne en l'état, mais pouvoir modifier les
chiffres de 2% par exemple, sans que les blancs (cellules vides) soit
remplacé par des 0.

Une macro qui se mordrait la queue et s'arrèterait toute seule au bout
de
10 blancs (cellules vides) consécutives.

Est- possible.!...............Je l'espère..........Merci d'avance

Salutations...........Bon Courage.........DC








Avatar
DC
Bonjour à Tous...........Bonjour ST.....

Petite suprise, je ne comprend pas.

j'ai donc choisi ton code qui fonctionnait avec la colonne B, mais pour
faire mes essais j'ai changé les 3 B par 3 W et là, la macro fonctionne à
merveille.

Par contre pour la rendre opérationnelle dans le fichier, c'est dans la
colonne L et là si je remplace les W par des L, ça ne veux plus fonctionner
et si je remet les W ça fonctionne de nouveau.

Insolite n'est ce pas.!....ou peut ètre que.!...je ne voie pas

Dans l'attente d'une réponse.......Merci d'avance

Salutations.........Bonne recherche..........DC


"ST" a écrit dans le message de news:
de4q1b$
Tu te fais tout simplement une boucle sur toutes les cellules de ta
feuille
de calcul. Pour trouver la dernière cellule d'un onglet, tu as la fonction
suivante :

Cells.SpecialCells(xlCellTypeLastCell)

Le code suivant scrute toutes les cellules non vides de la colonne B et
les
incrémente de + 2%.


For i = 1 To Cells.SpecialCells(xlCellTypeLastCell).Row
If Range("B" & i).Value = "" Then
Else
Range("B" & i).Value = Range("B" & i).Value * 1.02
End If
Next i


Bonne chance

ST

"Daniel Campion" a écrit dans le message de
news:4305e987$0$25045$
Bonjour à Tous........

J'ai une colonne de chiffres avec des blancs (cellules vides) dans la
structure.

J'aimerais garder cette colonne en l'état, mais pouvoir modifier les
chiffres de 2% par exemple, sans que les blancs (cellules vides) soit
remplacé par des 0.

Une macro qui se mordrait la queue et s'arrèterait toute seule au bout
de
10 blancs (cellules vides) consécutives.

Est- possible.!...............Je l'espère..........Merci d'avance

Salutations...........Bon Courage.........DC








Avatar
ST
Ca ne fonctionne pas : merci d 'être un peu plus explicite

Quel message d'erreur te renvoie la macro ?

ST

"DC" a écrit dans le message de
news:43072a44$0$877$
Bonjour à Tous...........Bonjour ST.....

Petite suprise, je ne comprend pas.

j'ai donc choisi ton code qui fonctionnait avec la colonne B, mais pour
faire mes essais j'ai changé les 3 B par 3 W et là, la macro fonctionne à
merveille.

Par contre pour la rendre opérationnelle dans le fichier, c'est dans la
colonne L et là si je remplace les W par des L, ça ne veux plus
fonctionner

et si je remet les W ça fonctionne de nouveau.

Insolite n'est ce pas.!....ou peut ètre que.!...je ne voie pas

Dans l'attente d'une réponse.......Merci d'avance

Salutations.........Bonne recherche..........DC


"ST" a écrit dans le message de news:
de4q1b$
Tu te fais tout simplement une boucle sur toutes les cellules de ta
feuille
de calcul. Pour trouver la dernière cellule d'un onglet, tu as la
fonction


suivante :

Cells.SpecialCells(xlCellTypeLastCell)

Le code suivant scrute toutes les cellules non vides de la colonne B et
les
incrémente de + 2%.


For i = 1 To Cells.SpecialCells(xlCellTypeLastCell).Row
If Range("B" & i).Value = "" Then
Else
Range("B" & i).Value = Range("B" & i).Value * 1.02
End If
Next i


Bonne chance

ST

"Daniel Campion" a écrit dans le message de
news:4305e987$0$25045$
Bonjour à Tous........

J'ai une colonne de chiffres avec des blancs (cellules vides) dans la
structure.

J'aimerais garder cette colonne en l'état, mais pouvoir modifier les
chiffres de 2% par exemple, sans que les blancs (cellules vides) soit
remplacé par des 0.

Une macro qui se mordrait la queue et s'arrèterait toute seule au bout
de
10 blancs (cellules vides) consécutives.

Est- possible.!...............Je l'espère..........Merci d'avance

Salutations...........Bon Courage.........DC












Avatar
DC
Bonjour ST,

ça fonctionne en adressant dans le code, B remplacé par W

ça ne fonctionne plus en remplaçant W par L

Pourquoi ces remplacement, B est une colonne que je ne voulais pas utilisée,
W une colonne pour essais, L une colonne d'exploitation définitive.

Mais bon, j'exploite quand même la macro sur la colonne W et après je fais
manuellement un copier-coller sur la colonne L ( 1 fois tous les 3 Mois,
bon.!...)

L'important pour mois c'est les blancs ( cellules vides ) et la majoration
au pourcentage,et ça fonctionne à merveille.

Salutations!......un grand Merci.........DC


"ST" a écrit dans le message de news:
decn0f$
Ca ne fonctionne pas : merci d 'être un peu plus explicite

Quel message d'erreur te renvoie la macro ?

ST

"DC" a écrit dans le message de
news:43072a44$0$877$
Bonjour à Tous...........Bonjour ST.....

Petite suprise, je ne comprend pas.

j'ai donc choisi ton code qui fonctionnait avec la colonne B, mais pour
faire mes essais j'ai changé les 3 B par 3 W et là, la macro fonctionne à
merveille.

Par contre pour la rendre opérationnelle dans le fichier, c'est dans la
colonne L et là si je remplace les W par des L, ça ne veux plus
fonctionner

et si je remet les W ça fonctionne de nouveau.

Insolite n'est ce pas.!....ou peut ètre que.!...je ne voie pas

Dans l'attente d'une réponse.......Merci d'avance

Salutations.........Bonne recherche..........DC


"ST" a écrit dans le message de news:
de4q1b$
Tu te fais tout simplement une boucle sur toutes les cellules de ta
feuille
de calcul. Pour trouver la dernière cellule d'un onglet, tu as la
fonction


suivante :

Cells.SpecialCells(xlCellTypeLastCell)

Le code suivant scrute toutes les cellules non vides de la colonne B et
les
incrémente de + 2%.


For i = 1 To Cells.SpecialCells(xlCellTypeLastCell).Row
If Range("B" & i).Value = "" Then
Else
Range("B" & i).Value = Range("B" & i).Value * 1.02
End If
Next i


Bonne chance

ST

"Daniel Campion" a écrit dans le message de
news:4305e987$0$25045$
Bonjour à Tous........

J'ai une colonne de chiffres avec des blancs (cellules vides) dans la
structure.

J'aimerais garder cette colonne en l'état, mais pouvoir modifier les
chiffres de 2% par exemple, sans que les blancs (cellules vides) soit
remplacé par des 0.

Une macro qui se mordrait la queue et s'arrèterait toute seule au bout
de
10 blancs (cellules vides) consécutives.

Est- possible.!...............Je l'espère..........Merci d'avance

Salutations...........Bon Courage.........DC