Liste de nom avec cellule données vides

Bonjour,

sur une feuille de calcul "liste coplay", je dispose de 4 colonnes

A: nom de joueurs

B coplay 1 qui sert à noté le nom du 1er joueur aillant accès au jeu du joueur de la colonne A

C coplay 2 qui sert à noté le nom du 2ème joueur aillant accès au jeu du joueur de la colonne A

D nombre de place restante au joueur de la colonne A

je désire que sur la feuille "sans coplay" s'inscrive automatiquement tous les joueurs de la feuille

"liste coplay" dont les colonnes B ET C sont vides

merci de votre aide

Bonjour Bidouille 2,

je te retourne ton fichier modifié :

21coplay-histria.xlsm (124.46 Ko)

* tu peux voir que la 2ème feuille est vide

* va sur la 1ère feuille, et fais Ctrl e ➯ travail effectué !


Alt F11 pour voir le code VBA, puis revenir sur Excel

si besoin, tu peux demander une adaptation.

merci de me dire si ça te convient.

dhany

Bonsoir Dhany,

je te remercie, c'est exactement ce dont j'ai besoin,

je regarde si ça fonctionne avec les pages google sheet avant de mettre sujet clos

encore merci à toi.

Bidouille 2

Re bonsoir,

aurais tu la possibilité de l'adapter à google sheet?

il semble que les macros soit légèrement différentes

autrement ça fonctionne à merveille sous excel,

mais comme je le partage sur google drive...

autrement pas grave je m'arrangerai pour le partager avec dropbox.

encore merci

Bidouille

Bonjour Bidouille 2,

tu a écrit :

aurais-tu la possibilité de l'adapter à google sheet ?

non, je connais Google Sheet seulement de nom, je ne l'utilise pas ; je sais quand même qu'il ne comprend pas VBA, car son langage de programmation est un autre langage, dérivé de Javascript, appelé GAS (Google Apps Script).

je te laisse lire ce lien : https://fr.wikipedia.org/wiki/Google_Apps_Script

dhany

je te remercie beaucoup, je vais regarder ça de plus prêt...

Bonjour Bidouille 2,

j'viens d'voir que j'ai fait une erreur dans mon code VBA : j'ai inclus dans la boucle For i = 2 To n .. Next i cette partie :

With .[A1]
  .Font.Bold = -1: .HorizontalAlignment = 3
  .Value = "JOUEURS"
End With

donc elle est exécutée à chaque « tour » de boucle alors qu'une seule fois suffit ! voici le fichier corrigé :

20coplay-histria.xlsm (124.44 Ko)

le code complet est maint'nant celui-ci :

Option Explicit

Sub Essai()
  If ActiveSheet.Name <> "Liste coplays" Then Exit Sub
  Dim Tbl, Joueur$, lig&, n&, i&
  n = Cells(Rows.Count, 1).End(3).Row: If n = 1 Then Exit Sub
  Tbl = [A1].Resize(n, 3)
  With Worksheets("Sans coplay")
    .Columns(1).ClearContents: lig = 2
    For i = 2 To n
      Joueur = Tbl(i, 1)
      If Joueur <> "" Then
        If Tbl(i, 2) = "" And Tbl(i, 3) = "" Then _
          .Cells(lig, 1) = Joueur: lig = lig + 1
      End If
    Next i
    With .[A1]
      .Font.Bold = -1: .HorizontalAlignment = 3
      .Value = "JOUEURS"
    End With
    .Select
  End With
End Sub

bonne chance pour l'adaptation avec Google Apps Script !

dhany

Bonjour,

je te remercie, cette subtilité était au dessus de mes compétences...

pour l'adaptation Google je rame un peu lol mais je ne désespère pas, ça entretient les neurones lol

bonne journée et encore merci de ton aide

Bidouille

si quelqu'un peut adapter cette réponse de Dhany à Google sheet, je lui en serai vraiment reconnaissant, la je rame ... merci d'avance

Option Explicit

Sub Essai()
  If ActiveSheet.Name <> "Liste coplays" Then Exit Sub
  Dim Tbl, Joueur$, lig&, n&, i&
  n = Cells(Rows.Count, 1).End(3).Row: If n = 1 Then Exit Sub
  Tbl = [A1].Resize(n, 3)
  With Worksheets("Sans coplay")
    .Columns(1).ClearContents: lig = 2
    For i = 2 To n
      Joueur = Tbl(i, 1)
      If Joueur <> "" Then
        If Tbl(i, 2) = "" And Tbl(i, 3) = "" Then _
          .Cells(lig, 1) = Joueur: lig = lig + 1
      End If
    Next i
    With .[A1]
      .Font.Bold = -1: .HorizontalAlignment = 3
      .Value = "JOUEURS"
    End With
    .Select
  End With
End Sub

Merci encore à toi Dhany je jongle entre excel et sheet pour m'en servir ça m'est vraiment bien utile

Merci à tous,

pour googlesheet j'ai trouvé cette formule qui fonctionne parfaitement

=FILTER(A:C;ESTVIDE(B:B);ESTVIDE(C:C))

Rechercher des sujets similaires à "liste nom donnees vides"