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 :

aide sur cellule vide ou pleine


Sujet :

Excel

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 17
    Points : 12
    Points
    12
    Par défaut aide sur cellule vide ou pleine
    Bonjour, sachant que je ne suis pas très douée en vba et que je suis en plein apprentissage j'ai besoin de vos lumières

    voila j'ai trouvé deux codes le premier me permet de ranger la colonne M1 qui peut comporter de 263 lignes sachant que entre deux adresse mail il peut y avoir des lignes vide avec une formule dedans, je clique donc sur le bouton ranger et mes adresses se retrouve ranger de m1 a m10 exemple pour 10 adresses les 253 autre ligne se retrouve en dessous a partir de M11 soit 253 lignes


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub test_i()
    Dim j As Integer
    For j = 2 To Range("m1").End(xlUp).Column
    Range(Cells(2, j), Cells(232, j)).Sort Key1:=Cells(2, j), Order1:=xlDescending, Header:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlSortColumns
     
    Next j
    End Sub
    ensuite je clique sur mon autre bouton qui lui va me récupéré les adresses de la colonne M1 je voudrais les ranger dans la feuil2 en A114 le seul problème est que le code ci dessous me concatener ce qu'il y a dans la colonne M1 et me prend bien en compte les 10 1ere adresse mail mais il me met également 253 vrai a la suite

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub regroupe()
     
    Range("n1") = Join(Application.Transpose(Range("M1:M" & Range("M" & Rows.Count).End(xlUp).Row)), SeparateurDeResultats = ";")
     
     End Sub
    ce dont j'ai besoin c'est de récupéré ce qu'il y a dans la colonne M1 une fois ranger avec le premier code mais sans que le deuxième code ne me prennent en compte les cellules vide qui ne sont pas considéré comme vide puisqu'il y a une formule dedans .
    ensuite j'ai besoin qu'il me l'envoi sur la feuille membres1 cellule A114

  2. #2
    Membre expert
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2009
    Messages
    1 794
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 85
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1 794
    Points : 3 094
    Points
    3 094
    Par défaut
    Bonjour,
    Dans ce calcul pour déterminer la dernière ligne non vide il y a une erreur du fait que fait que les cellule qui n'affiche rien ne sont pas vide comme vous l'avez signaler, mais la formule qu'elle contienne met plus que probablement une "" (chaine vide) dans la cellule donc il faudrait avec un NB.SI(Plage;"") et retirer cette valeur du résultat trouvez dans le calcul de Rows.Count.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    Range("M" & Rows.Count).End(xlUp).Row))
    Essayez quelque chose comme ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("M" & Rows.Count-CountIf(M:M;""))
    Cordialement.

    RJ

  3. #3
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Septembre 2013
    Messages
    783
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Septembre 2013
    Messages : 783
    Points : 1 562
    Points
    1 562
    Par défaut
    Bonjour,

    Vous pouvez également judicieusement passer pas le range.SpceciallCell (excel >= 2007 de mémoire)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Range("M1").CurrentRegion.SpecialCells(xlCellTypeConstants) 'Région autour de M1 contenant des constantes
    ... (xlCellTypeFormulas) 'Formules
    Bonne journée
    "Idéalement nous sommes ce que nous pensons. Dans la réalité, nous sommes ce que nous accomplissons." A.Senna
    et n'oubliez-pas de développer des .... sourires ^_^

  4. #4
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut




    Bonjour,

    non, cette méthode existait déjà avant la version 2007 …

    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

Discussions similaires

  1. Réponses: 13
    Dernier message: 16/09/2014, 19h55
  2. [XL-2003] Macro Vlookup sur cellule vide
    Par Sibuxian dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 03/05/2010, 16h37
  3. Réponses: 5
    Dernier message: 25/03/2009, 01h58
  4. fusion de cellules vides avec cellule précédente pleine
    Par camzo dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 03/10/2007, 16h28
  5. [VBA-E] cellules vide sur une ligne
    Par bricereyem dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 12/06/2006, 21h20

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