IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Excel Discussion :

Sélection de cellules


Sujet :

Excel

  1. #21
    Membre du Club
    Homme Profil pro
    retraité
    Inscrit en
    Août 2019
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Thaïlande

    Informations professionnelles :
    Activité : retraité
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2019
    Messages : 109
    Points : 43
    Points
    43
    Par défaut
    Bonjour Philippe...
    Merci encore pour ton aide précieuse
    J'ai essayé de copier/coller tes formules dans mon tableau... mais il n'y a rien à faire, ça ne veut pas.
    J'ai nommé une zone "tableau1" et essayé d'ajuter tes 2 formules telles quelles...
    Code formule : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    =SOMME(tableau1[@[Rd1]:[Rd14]])	
    =SumOfLastCell(tableau1[@[Rd1]:[Rd14]];$T$5)

    J'ai essayé par simple copier/coller, puis par (Ctrl+Shift+Enter: matricielle) = rien à faire j'ai systématiquement un message d'erreur.
    Vois la copie d'écran ci-dessous... pourtant je pense avoir tout recréé selon ton fichier...
    Lorsque j'essaie pour la seconde formule, le résultat est identique

    Nom : Couper_19.jpg
Affichages : 242
Taille : 106,7 Ko

    Entre toi et Arturo... vous m'aidez sacrément. Vos deux solutions me conviennent parfaitement...
    Il faudra à moment donné que je fasse un choix entre les deux...

  2. #22
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 766
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 766
    Points : 28 625
    Points
    28 625
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    J'ai nommé une zone "tableau1" et essayé d'ajuter tes 2 formules telles quelles...
    Tableau1 n'est pas une zone mais un tableau structuré.
    De plus dans le classeur que j'ai déposé, il y avait deux feuilles, l'une avec un tableau structuré, l'autre avec une plage "classique". Le tableau structuré n'est pas obligatoire pour utiliser la fonction.

    La fonction nommée SumOfLastCell s'utilise comme une fonction d'excel.
    Pour la tester, entre de A2 à F2 ds nombres quelconques et ensuite en G2 entre la formule
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SumOfLastCell(A2:F2; 3)
    et tu verras que la fonction fait bien la somme des 3 nombres se trouvant à gauche
    Ensuite, supprime la valeur de F2 et C2 et regarde la différence

    A lire Apprendre à utiliser les tableaux structurés Excel : création, manipulations et avantages(1)
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  3. #23
    Membre du Club
    Homme Profil pro
    retraité
    Inscrit en
    Août 2019
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Thaïlande

    Informations professionnelles :
    Activité : retraité
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2019
    Messages : 109
    Points : 43
    Points
    43
    Par défaut
    Bonjour Philippe,
    Je n'avais pas vu la deuxième feuille... voila qui est fait.
    Tellement préoccupé par ces formules que j'ai omis de regarder le bas de l'écran.
    Je vais me pencher sur cette les tableaux structurés...

    Merci encore pur cette aide vraiment précieuse

  4. #24
    Membre du Club
    Homme Profil pro
    retraité
    Inscrit en
    Août 2019
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Thaïlande

    Informations professionnelles :
    Activité : retraité
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2019
    Messages : 109
    Points : 43
    Points
    43
    Par défaut
    Philippe,
    Décidément, je n'y arrive pas.
    J'ai recopié la fonction =SumOfLastCell(H6:R6;$T$5).

    et à présent il m'affiche #NOM ?

    Ton tableau fonctionne très bien... dès que je recopie chez moi, plus moyen.

    Suis désolé de t'embêter encore (je pensais que c'était résolu)

  5. #25
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 766
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 766
    Points : 28 625
    Points
    28 625
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    J'ai recopié la fonction =SumOfLastCell(H6:R6;$T$5)
    et à présent il m'affiche #NOM?
    As-tu bien copié la fonction dans un module de ton classeur ?
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  6. #26
    Membre du Club
    Homme Profil pro
    retraité
    Inscrit en
    Août 2019
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Thaïlande

    Informations professionnelles :
    Activité : retraité
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2019
    Messages : 109
    Points : 43
    Points
    43
    Par défaut
    Citation Envoyé par Philippe Tulliez Voir le message
    Bonjour,

    As-tu bien copier la fonction dans un module de ton classeur ?
    Heu........non... un module de mon classeur....???

  7. #27
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 766
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 766
    Points : 28 625
    Points
    28 625
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    As-tu bien copier la fonction dans un module de ton classeur ?
    Oui. Les solutions proposées par Arturo et moi sont des solutions en VBA, ce que l'on nomme communément Macro et une procédure VBA se place dans un module.

    En début de discussion Igloobel t'a demandé
    En macro rien de plus simple. Est-ce un problème de le faire en VBA
    et tu as répondu
    avec macro... suis preneur...
    Alors ?
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  8. #28
    Membre du Club
    Homme Profil pro
    retraité
    Inscrit en
    Août 2019
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Thaïlande

    Informations professionnelles :
    Activité : retraité
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2019
    Messages : 109
    Points : 43
    Points
    43
    Par défaut
    Oui, la macro de Arturo tourne...
    Mais là, pour juste mettre la fonction "SumOfLastCell" comme tu dis dans un module... désolé, je ne sais pas comment faire

  9. #29
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 766
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 766
    Points : 28 625
    Points
    28 625
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Et où penses-tu que se trouve la procédure d'Arturo si ce n'est dans un module ?
    Il te suffit de copier la fonction, qui est également une procédure, et la coller juste en dessous de la "macro" que t'a créé Arturo
    Ne pas oublier de Copier la dernière version corrigée
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  10. #30
    Membre du Club
    Homme Profil pro
    retraité
    Inscrit en
    Août 2019
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Thaïlande

    Informations professionnelles :
    Activité : retraité
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2019
    Messages : 109
    Points : 43
    Points
    43
    Par défaut
    Désolé, je suis perdu, je n'y comprends rien.
    sur mon tableau j'ai plein de macros que j'ai faites mais en enregistrant mes manip...
    Ecrire une macro je ne sais pas faire...

    Là tu me demandes d'inclure une fonction, désolé je suis perdu.
    Dans ta dernière version, tu écrivais que c'était du Excel simple, une formule simple...
    Je vois que même une simple fonction... faut faire des modules.

    Bon tant pis, je t'ai assez embêté avec tout ça
    Merci quand même

  11. #31
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 766
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 766
    Points : 28 625
    Points
    28 625
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Dans ta dernière version, tu écrivais que c'était du Excel simple, une formule simple...
    Je n'ai jamais écrit cela. J'ai dit qu'une fonction personnalisée s'utilisait COMME une fonction d'excel, j'ai d'ailleurs mis un lien vers le tutoriel dans le fil #16

    Si la procédure proposée par Arturo te convient, utilise là, moi j'avoue que j'arrête
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  12. #32
    Expert confirmé
    Homme Profil pro
    Electrotechnicien
    Inscrit en
    Juillet 2016
    Messages
    3 240
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Electrotechnicien

    Informations forums :
    Inscription : Juillet 2016
    Messages : 3 240
    Points : 5 655
    Points
    5 655
    Par défaut
    Bonjour raivig,

    Je comprends que vous soyez un peu déstabilisé, mais voici une petite vidéo pour mettre en oeuvre la fonction personnalisée de Philippe Tulliez (que je salue), légèrement modifiée pour gérer les erreurs.

    A noter que dans votre fichier les cellules en apparences vides ne le sont pas, je suis passé sur chacune de ces cellules en faisant un Suppr à chaque fois car cela faussait les calculs.

    Pièce jointe 532457

    En espérant que ceci vous permette de mieux appréhender les fonctions personnalisées.

    le fichier en exemple
    Pièce jointe 532460

    Cdlt

  13. #33
    Membre du Club
    Homme Profil pro
    retraité
    Inscrit en
    Août 2019
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Thaïlande

    Informations professionnelles :
    Activité : retraité
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2019
    Messages : 109
    Points : 43
    Points
    43
    Par défaut
    Merci Arturo...
    Je crois que finalement c'est ta Macro initiale qui fonctionnait le mieux.
    Car mes cellules qui affichent zéro (ou blanc) c'est vrai qu'elles ne sont pas vides... le zéro étant un résultat... et donc, difficile d'effacer ce contenu.
    La macro par-contre fonctionnait très bien... et ne faussait pas les résultats.
    Je vais donc la reprendre et l'adapter comme je peux... ça devrait aller.
    La petite fenêtre qui s'ouvre et qui propose le nombre de résultats en compte est super bien pratique.
    Est t'il possible d'afficher le chiffre choisi dans une cellule pour connaître à tout moment ce chiffre ?

    En tout cas merci

  14. #34
    Expert confirmé
    Homme Profil pro
    Electrotechnicien
    Inscrit en
    Juillet 2016
    Messages
    3 240
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Electrotechnicien

    Informations forums :
    Inscription : Juillet 2016
    Messages : 3 240
    Points : 5 655
    Points
    5 655
    Par défaut
    Bonjour,
    Est t'il possible d'afficher le chiffre choisi dans une cellule pour connaître à tout moment ce chiffre ?
    Oui, alors autant écrire directement le chiffre dans la cellule et que la macro se lance automatiquement dès que cette valeur est validée. Dans le fichier joint, saisissez la valeur en S3 et validez avec "Entrée" ou en cliquant sur une autre cellule.
    Pièce jointe 532624

    Le code dans le module de la feuille "Feuil1"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    Private Sub Worksheet_Change(ByVal Target As Range)
        Dim Nb As String, DerLig As Long, NbVal As Long, i As Long, J As Long
        Dim Res As Double
     
        Application.ScreenUpdating = False
        Application.EnableEvents = False
        If Target.Address <> "$S$3" Then Exit Sub
        Nb = [S3]
        If Nb <> "" Then
            DerLig = Range("D5").SpecialCells(xlCellTypeLastCell).Row
            If DerLig <> 5 Then Range(Cells(6, "S"), Cells(DerLig, "S")).ClearContents
            For J = 6 To DerLig
                NbVal = 0
                Res = 0
                For i = 17 To 4 Step -1
                    If Cells(J, i) <> "" Then
                        Res = Res + Cells(J, i)
                        NbVal = NbVal + 1
                        If NbVal = Nb Then
                            Cells(J, "S") = Res
                            Application.EnableEvents = True
                            Exit For
                        End If
                    End If
                Next i
            Next J
        End If
        Application.EnableEvents = True
    End Sub
    Cdlt

  15. #35
    Membre du Club
    Homme Profil pro
    retraité
    Inscrit en
    Août 2019
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Thaïlande

    Informations professionnelles :
    Activité : retraité
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2019
    Messages : 109
    Points : 43
    Points
    43
    Par défaut
    Étonnant... j'ai téléchargé le fichier "raivig_Sélection de cellules_2.xlsm "... ouvert sur mon disque dur... les calculs ne donnent rien
    Je n'ai rein touché, rien modifié

  16. #36
    Expert confirmé
    Homme Profil pro
    Electrotechnicien
    Inscrit en
    Juillet 2016
    Messages
    3 240
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Electrotechnicien

    Informations forums :
    Inscription : Juillet 2016
    Messages : 3 240
    Points : 5 655
    Points
    5 655
    Par défaut
    Avant d'ouvrir le fichier joint, fermez tous les fichiers excel ouverts et réessayez

  17. #37
    Membre du Club
    Homme Profil pro
    retraité
    Inscrit en
    Août 2019
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Thaïlande

    Informations professionnelles :
    Activité : retraité
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2019
    Messages : 109
    Points : 43
    Points
    43
    Par défaut
    Citation Envoyé par ARTURO83 Voir le message
    Avant d'ouvrir le fichier joint, fermez tous les fichiers excel ouverts et réessayez
    C'est évidemment ce que j'ai fait...
    mais bon, ce n'est pas grave, je vous ai assez ennuyé avec ce petit tableau qui ne ressemble à rien mais qui en même temps est assez compliqué.
    La macro avec le bouton fonctionne très bien... je vais me contenter de celle-ci.
    Merci encore pour cette aide précieuse et ce contact fort sympathique rempli de patience.
    Cordialement
    Pour info, mon site web: www.phuket-asia.com

  18. #38
    Expert confirmé
    Homme Profil pro
    Electrotechnicien
    Inscrit en
    Juillet 2016
    Messages
    3 240
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Electrotechnicien

    Informations forums :
    Inscription : Juillet 2016
    Messages : 3 240
    Points : 5 655
    Points
    5 655
    Par défaut
    Bonjour,

    Vraiment étonnant que cela ne fonctionne pas chez vous.
    Voici donc la proposition modifiée avec le bouton.
    La quantité de cellules à totaliser ne se fait plus dans la boîte de dialogue mais en cellule S3.
    En cliquant sur le bouton, le texte du bouton change et reprend le nombre de cellules demandé.
    Pièce jointe 532926

    Le code associé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    Sub Somme()
        Dim Nb As String, DerLig As Long, NbVal As Long, i As Long, J As Long
        Dim Res As Double
     
        Application.ScreenUpdating = False
        Nb = [S3]
        If Nb <> "" Then
            DerLig = Range("D5").SpecialCells(xlCellTypeLastCell).Row
            If DerLig <> 5 Then Range(Cells(6, "S"), Cells(DerLig, "S")).ClearContents
            For J = 6 To DerLig
                NbVal = 0
                Res = 0
                For i = 17 To 4 Step -1
                    If Cells(J, i) <> "" Then
                        Res = Res + Cells(J, i)
                        NbVal = NbVal + 1
                        If NbVal = Nb Then
                            Cells(J, "S") = Res
                            Exit For
                        End If
                    End If
                Next i
            Next J
        End If
        ActiveSheet.Shapes("ZoneTexte 1").TextFrame.Characters.Text = "Somme des  " & Nb & " dernières valeurs"
    End Sub
    Cdlt

  19. #39
    Membre du Club
    Homme Profil pro
    retraité
    Inscrit en
    Août 2019
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Thaïlande

    Informations professionnelles :
    Activité : retraité
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2019
    Messages : 109
    Points : 43
    Points
    43
    Par défaut
    Hello Arturo,
    Je découvre à l'instant ton message et ton travail...qui a l'air de fonctionner à présent
    Je vais m'y attarder demain matin, là, suis de sortie... (chez moi nous sommes déjà le soir)
    Mais en tout cas grand merci...
    Cdt

  20. #40
    Membre du Club
    Homme Profil pro
    retraité
    Inscrit en
    Août 2019
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Thaïlande

    Informations professionnelles :
    Activité : retraité
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2019
    Messages : 109
    Points : 43
    Points
    43
    Par défaut
    Hello Arturo,
    J'ai fini ma mise en place. J'ai adapté ta macro à mon tableau et à présent, tout fonctionne super bien.
    Je t'adresse un super grand merci pour ton boulot et surtout ta patience.
    Mon tableau est génial et je peux effectuer mes calculs facilement à présent.
    Encore merci...

Discussions similaires

  1. Sélection de cellules égales
    Par yoyo30 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 22/11/2007, 14h41
  2. LISTVIEW: Sélection de cellule
    Par hulahup dans le forum Windows Forms
    Réponses: 1
    Dernier message: 19/05/2007, 17h04
  3. Réponses: 6
    Dernier message: 12/04/2007, 18h13
  4. automation Excel: sélection de cellule
    Par jarod_bx dans le forum Access
    Réponses: 3
    Dernier message: 03/11/2005, 15h33
  5. [VBA]Sélection de cellules
    Par joseph1 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 13/10/2005, 18h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo