OVH Cloud OVH Cloud

selectionner les 8 colonnes à droite

16 réponses
Avatar
Albert
Bonjour

Je ne réussi pas à faire cette macro, car l'enregisteur enregistre pour la
ligne active seulement.

Sur n'importe quelle ligne, je suis sur la cellule "D", en quittant la
cellule, je voudrais selectionner les 8 colonnes à droite sur cette même
ligne, (F:M), copier le contenu de la ligne précédente (Selection.FillDown)
et ensuite me placer sur la cellule "N" de cette ligne (Fin de la macro).

merci


--
albertri-at-videotron.ca.invalid

6 réponses

1 2
Avatar
Albert
Bonjour

"Jacky" a écrit dans le message de
news:k4qfa3$ka4$
Re..
Est-ce la bonne façon de faire?


Je ne sais pas ce que ton projet doit réaliser, mais perso.
je ne me sers pas d'une sélection de cellule pour faire une copie.
--
Salutations
JJ



Le fichier régulier fonctionne bien, celui-ci est la version en VBA, il faut
se trouver des buts pour apprendre. Donc adieu la copie de formule, ci joint
le code VBA des formules du fichier que vous trouverez sur
http://cjoint.com/?BJkchTM8HPH

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
' original fait par Jacky 6 octobre 2012 et ensuite modifié par Albert
Dim LaLigne As Long

If Target.Column = 6 And Target.Row > 6 And (Cells(Target.Row, 4) > 0) Then
LaLigne = Target.Row
' Range(Cells(Target.Row - 1, 6), Cells(Target.Row - 1, 13)).Copy
Target.Offset
' Cette ligne est désactivée et remplacée par des formules distinctes
' si offset est zéro écrire Offset seulement au lieu de Copy
Target.Offset(, 0)

Cells(LaLigne, 6).FormulaR1C1 = "=(RC3/(RC2-R[-1]C2))*100"
'Litres 100KMS
Cells(LaLigne, 7).FormulaR1C1 = "=((RC2-R[-1]C2)*0.6214)/(RC3*0.2199)"
'Milles par Gallon
Cells(LaLigne, 8).FormulaR1C1 = "=AVERAGE(R6C6:RC6)"
'Moyenne litres 100kms
Cells(LaLigne, 9).FormulaR1C1 = "=AVERAGE(R6C7:RC7)"
'Moyenne Milles par gallon
Cells(LaLigne, 10).FormulaR1C1 = "=SUM(R5C3:RC3)" '
Consommation litres total
'***Cells(LaLigne, 10).Formula = " =sum(" & Range(Cells(5, 3),
Cells(LaLigne, 3)).Address(0, 0) & ")"
Cells(LaLigne, 11).FormulaR1C1 = "=SUM(R6C4:RC4)"
'Coût Total
'***Cells(LaLigne, 11).Formula = " =sum(" & Range(Cells(6, 4),
Cells(LaLigne, 4)).Address(0, 0) & ")"
Cells(LaLigne, 12).FormulaR1C1 = "=RC4/RC3"
'Prix du litre en $
Cells(LaLigne, 13).FormulaR1C1 = "=RC2-R[-1]C2"
'Distance parcourru entre deux pleins
Target.Offset(, 8).Select
End If
End Sub


Les formules ont été faites avec le générateur de macro et modifiées.
Les formules précédées de *** s'affichent dans les bonnes cellules, mais
n'effectuent pas les calculs, pourtant dans un autre fichier elles sont très
efficaces. Dans tous les manuels de VBA je n'ai pas trouvé d'exemples
pratiques pour les formules Excel.

Merci


--
albertri-at-videotron.ca.invalid
Avatar
Jacky
Re...
il faut
.... se trouver des buts pour apprendre.


Règle n°1 dans ce genre de projet
- Ne pas confondre "création de bases de données" et "présentation" sur la même feuille
Une base de donnée AMHA doit comporter
- En première ligne "les entêtes"
- Les autres lignes "les informations"
- Apprendre à ce servir de "Donnée/formulaire" pour saisir les informations
--
--
Après on pourra voir pour la création de boite de saisie personnalisé

Ceci n'est pas une obligation et ne t'engage en rien, juste un conseil ;o)
--
Salutations
JJ(eternel débutant)


"Albert" a écrit dans le message de news: k52fpv$8rl$
Bonjour

"Jacky" a écrit dans le message de news:k4qfa3$ka4$
Re..
Est-ce la bonne façon de faire?


Je ne sais pas ce que ton projet doit réaliser, mais perso.
je ne me sers pas d'une sélection de cellule pour faire une copie.
--
Salutations
JJ



Le fichier régulier fonctionne bien, celui-ci est la version en VBA, il faut se trouver des buts pour
apprendre. Donc adieu la copie de formule, ci joint le code VBA des formules du fichier que vous trouverez
sur http://cjoint.com/?BJkchTM8HPH

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
' original fait par Jacky 6 octobre 2012 et ensuite modifié par Albert
Dim LaLigne As Long

If Target.Column = 6 And Target.Row > 6 And (Cells(Target.Row, 4) > 0) Then
LaLigne = Target.Row
' Range(Cells(Target.Row - 1, 6), Cells(Target.Row - 1, 13)).Copy Target.Offset
' Cette ligne est désactivée et remplacée par des formules distinctes
' si offset est zéro écrire Offset seulement au lieu de Copy Target.Offset(, 0)

Cells(LaLigne, 6).FormulaR1C1 = "=(RC3/(RC2-R[-1]C2))*100" 'Litres 100KMS
Cells(LaLigne, 7).FormulaR1C1 = "=((RC2-R[-1]C2)*0.6214)/(RC3*0.2199)" 'Milles par Gallon
Cells(LaLigne, 8).FormulaR1C1 = "=AVERAGE(R6C6:RC6)" 'Moyenne litres 100kms
Cells(LaLigne, 9).FormulaR1C1 = "=AVERAGE(R6C7:RC7)" 'Moyenne Milles par gallon
Cells(LaLigne, 10).FormulaR1C1 = "=SUM(R5C3:RC3)" ' Consommation litres total
'***Cells(LaLigne, 10).Formula = " =sum(" & Range(Cells(5, 3), Cells(LaLigne, 3)).Address(0, 0) & ")"
Cells(LaLigne, 11).FormulaR1C1 = "=SUM(R6C4:RC4)" 'Coût Total
'***Cells(LaLigne, 11).Formula = " =sum(" & Range(Cells(6, 4), Cells(LaLigne, 4)).Address(0, 0) & ")"
Cells(LaLigne, 12).FormulaR1C1 = "=RC4/RC3" 'Prix du litre en $
Cells(LaLigne, 13).FormulaR1C1 = "=RC2-R[-1]C2" 'Distance parcourru entre deux pleins
Target.Offset(, 8).Select
End If
End Sub


Les formules ont été faites avec le générateur de macro et modifiées.
Les formules précédées de *** s'affichent dans les bonnes cellules, mais n'effectuent pas les calculs,
pourtant dans un autre fichier elles sont très efficaces. Dans tous les manuels de VBA je n'ai pas trouvé
d'exemples pratiques pour les formules Excel.

Merci


--
albertri-at-videotron.ca.invalid
Avatar
Albert
Bonjour

C'est la deuxième fois que vous me mentionnez cela.
Avec Access c'est la manière de faire, et je n'ai aucun problème, mais je
ne l'ai jamais fait avec EXCEL.
Auriez-vous un ficher EXEMPLE pour me démontrer ce que vous suggérez?
Merci

Albert

"Jacky" a écrit dans le message de
news:k53k0v$md5$
Re...
il faut
.... se trouver des buts pour apprendre.


Règle n°1 dans ce genre de projet
- Ne pas confondre "création de bases de données" et "présentation" sur la
même feuille
Une base de donnée AMHA doit comporter
- En première ligne "les entêtes"
- Les autres lignes "les informations"
- Apprendre à ce servir de "Donnée/formulaire" pour saisir les
informations
--
--
Après on pourra voir pour la création de boite de saisie personnalisé

Ceci n'est pas une obligation et ne t'engage en rien, juste un conseil
;o)
--
Salutations
JJ(eternel débutant)


"Albert" a écrit dans le message de news:
k52fpv$8rl$
Bonjour

"Jacky" a écrit dans le message de
news:k4qfa3$ka4$
Re..
Est-ce la bonne façon de faire?


Je ne sais pas ce que ton projet doit réaliser, mais perso.
je ne me sers pas d'une sélection de cellule pour faire une copie.
--
Salutations
JJ
Avatar
Jacky
Re...
Auriez-vous un ficher EXEMPLE


Exemple simple pour l'utilisation du formulaire natif d'excel
Je n'ai fait aucune vérification de l'exactitude des formules présentes
http://cjoint.com/?3Jmqk44CSsM

Mdenis à publié un exemple complet sur la manière d'utiliser un formulaire (userform)
http://cjoint.com/?BIArNNVG28e

Bon courage
--

Salutations
JJ


"Albert" a écrit dans le message de news: k593jg$n5k$
Bonjour

C'est la deuxième fois que vous me mentionnez cela.
Avec Access c'est la manière de faire, et je n'ai aucun problème, mais je ne l'ai jamais fait avec EXCEL.
Auriez-vous un ficher EXEMPLE pour me démontrer ce que vous suggérez?
Merci

Albert

"Jacky" a écrit dans le message de news:k53k0v$md5$
Re...
il faut
.... se trouver des buts pour apprendre.


Règle n°1 dans ce genre de projet
- Ne pas confondre "création de bases de données" et "présentation" sur la même feuille
Une base de donnée AMHA doit comporter
- En première ligne "les entêtes"
- Les autres lignes "les informations"
- Apprendre à ce servir de "Donnée/formulaire" pour saisir les informations
--
--
Après on pourra voir pour la création de boite de saisie personnalisé

Ceci n'est pas une obligation et ne t'engage en rien, juste un conseil ;o)
--
Salutations
JJ(eternel débutant)


"Albert" a écrit dans le message de news: k52fpv$8rl$
Bonjour

"Jacky" a écrit dans le message de news:k4qfa3$ka4$
Re..
Est-ce la bonne façon de faire?


Je ne sais pas ce que ton projet doit réaliser, mais perso.
je ne me sers pas d'une sélection de cellule pour faire une copie.
--
Salutations
JJ







Avatar
Albert
Bonjour
"Jacky" a écrit dans le message de
news:k598ju$4ff$
Re...
Auriez-vous un ficher EXEMPLE


Exemple simple pour l'utilisation du formulaire natif d'excel
Je n'ai fait aucune vérification de l'exactitude des formules présentes
http://cjoint.com/?3Jmqk44CSsM

Mdenis à publié un exemple complet sur la manière d'utiliser un formulaire
(userform)
http://cjoint.com/?BIArNNVG28e
Bon courage
--
Salutations
JJ



Bon courage, merci je crois que je vais en avoir besoin avec l'exemple de
MichDenis.
J'apprécie l'exemple que vous avez joint de mon fichier avec le formulaire
natif d'Excel. J'avais déjà essayé cela,mais ça ne donnait pas les résultats
recherchés.
Merci


--
albertri-at-videotron.ca.invalid
Avatar
Albert
Bonjour
"Jacky" a écrit dans le message de
news:k598ju$4ff$
Re...
Auriez-vous un ficher EXEMPLE


Exemple simple pour l'utilisation du formulaire natif d'excel
Je n'ai fait aucune vérification de l'exactitude des formules présentes
http://cjoint.com/?3Jmqk44CSsM

Mdenis à publié un exemple complet sur la manière d'utiliser un formulaire
(userform)
http://cjoint.com/?BIArNNVG28e

Bon courage
--

Salutations
JJ



Quelques quatres lignes de VBA avec la **Grille de donnés** font toute la
différence, je l'ai adapté pour mon classeur Carnet d'adresse et je
l'utiliserai.
Tant qu'au fichier que vous avez modifé pour l'exemple, sachez que
l'original date de 19 ans, juillet 1993, fait avec LOTUS123, et dans le
fichier il reste encore des traces de LOTUS.
Le carnet d'adresse aussi date de l'ère de Lotus.

Je vous remercie, et je reviendrai avec mes questions.

--
albertri-at-videotron.ca.invalid
1 2