Microsoft 365 symboles dans listes de données

  • Initiateur de la discussion Initiateur de la discussion perrmi
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

perrmi

XLDnaute Occasionnel
bonjour a vous tous
le soleil est de la partie🙂
petit problème a la suite de mon précédent post
un tableau avec une liste de données.
le symboles ? représentant une caractéristique n'est pas coller aux noms mais a la ligne suivante.
j'aimerais juste supprimer cette ligne et accoler le symbole au nom de la ligne précédente.
un fichier joint sera plus explicite
encore merci a vous de voir les possibilité
macro ou formules
perrmi
 

Pièces jointes

Bonjour perrmi,

Formule en B32 à tirer vers le bas :
Code:
=INDEX(B$1:B$20;1+2*(LIGNE()-32))&INDEX(B$1:B$20;2*(LIGNE()-31))
Elle peut être collée à gauche et à droite.

A+
courte joie
enfin c'est déja bien mais sur un autre tableau cela ne marche pas
voir fichier joint
désolé
 

Pièces jointes

Bonjour à tous,

Avec les données en mode tableau, 2 colonnes supplémentaires et power query pour recopier le tableau sur une autre feuille.

Si tu ne veux pas utiliser Power Query, tu peux copier la colonne 22 et collage spécial valeur
Ensuite tu filtres les vides de la colonne 22 et tu les supprimes.
Tu peux supprimer également la colonne 2 et la colonne 14

Mais bon je préfère Power Query, tu auras toujours l'original sous la main.

JHA
 

Pièces jointes

Dernière édition:
Bonjour à tous,

Avec les données en mode tableau, 2 colonnes supplémentaires et power query pour recopier le tableau sur une autre feuille.

Si tu ne veux pas utiliser Power Query, tu peux copier la colonne 22 et collage spécial valeur
Ensuite tu filtres les vides de la colonne 22 et tu les supprimes.
Tu peux supprimer également la colonne 2 et la colonne 14

Mais bon je préfère Power Query, tu auras toujours l'original sous la main.

JHA
Oui merci a vous
JE VAIS essayer cette procédure
je pensais qu'une procédure plus simple existait genre formule précédente mais je vois que cela n'est pas évident.
encore merci
 
Voyez le fichier joint et cette macro dans le code de la feuille :
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim P As Range, i&, j&
Application.ScreenUpdating = True
Set P = [A1].CurrentRegion.Resize(, 13)
With [A38].Resize(P.Rows.Count, 13) 'à adapter
    .Value = P.Value 'copie les valeurs
    For i = 2 To .Rows.Count
        If Len(.Cells(i, 2)) = 1 Then
            .Cells(i - 1, 2) = .Cells(i - 1, 2) & .Cells(i, 2)
            For j = i + 1 To .Rows.Count
                .Rows(j - 1) = .Rows(j).Value 'décale vers le haut
            Next j
            .Rows(j - 1).ClearContents
        End If
    Next i
End With
End Sub
Elle se déclenche quand on sélectionne une cellule quelconque.

Bonjour JHA.
 

Pièces jointes

Bonjour à tous,

Tu peux également utiliser la fonction joindre.texte() au lieu de index
VB:
=JOINDRE.TEXTE(;VRAI;SI(Tableau1[Colonne14]=$O2;Tableau1[Colonne2];""))
et tu reprends la procedure copier coller, suppression des lignes vides de la colonne 1

JHA
Je pensais a une chose
vu que votre premiere cellule fonctionne bien
il suffit pour les tableaux suivant celui que je vous ai fait parvenir qui cause probleme
de supprimer les lignes avec les symboles vu que l'on les a avec le premier tableau0
donc trouver une formule pour supprimer ces lignes embarassantes
encore merci
perrmi
 
Voyez le fichier joint et cette macro dans le code de la feuille :
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim P As Range, i&, j&
Application.ScreenUpdating = True
Set P = [A1].CurrentRegion.Resize(, 13)
With [A38].Resize(P.Rows.Count, 13) 'à adapter
    .Value = P.Value 'copie les valeurs
    For i = 2 To .Rows.Count
        If Len(.Cells(i, 2)) = 1 Then
            .Cells(i - 1, 2) = .Cells(i - 1, 2) & .Cells(i, 2)
            For j = i + 1 To .Rows.Count
                .Rows(j - 1) = .Rows(j).Value 'décale vers le haut
            Next j
            .Rows(j - 1).ClearContents
        End If
    Next i
End With
End Sub
Elle se déclenche quand on sélectionne une cellule quelconque.

Bonjour JHA.
alors la c'est le must
félicitation
si par contre j'ai 5 onglets de données.
la macro marche pour les 5 pages ?
le mieux pour moi serait d'insérer un bouton de formulaire pour la macro par page.
ou 1 seul bouton pour les 5 pages
est ce possible?
encore merci de prendre un peu de votre temps.
 
Vous pouvez toujours remplacer la macro évènementielle par une macro classique affectée au bouton.

Si elle doit servir pour toutes les feuilles il faut une boucle sur les feuilles :
VB:
Sub Concat()
Dim w As Worksheet, P As Range, i&, j&
Application.ScreenUpdating = True
For Each w In Worksheets
    Set P = w.[A1].CurrentRegion.Resize(, 13)
    With w.[A38].Resize(P.Rows.Count, 13) 'à adapter
        .Value = P.Value 'copie les valeurs
        For i = 2 To .Rows.Count
            If Len(.Cells(i, 2)) = 1 Then
                .Cells(i - 1, 2) = .Cells(i - 1, 2) & .Cells(i, 2)
                For j = i + 1 To .Rows.Count
                    .Rows(j - 1) = .Rows(j).Value 'décale vers le haut
                Next j
                .Rows(j - 1).ClearContents
            End If
        Next i
    End With
Next w
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour