Besoin d'aide ecriture commande[excel]

bobkazar Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   -  
JvDo Messages postés 2012 Statut Membre -
Bonjour ,
Tout dabord j'aimerai savoir comment créer une macro sur Excel et comment faire pour l'activer.

J'aurai voulu egalement savoir comment ecrire les commandes suivantes:
1/si dans une cellule il y a un lien hypertexte , alors supprimer la cellule.
2/si dans une cellule il y a une chaine de carracteres contenant également des chiffres alors supprimer cette cellule,si et seulement si la chaine contient egalement des chiffres.

Merci pour vos eventuelles reponses.
Amicalement BoB
A voir également:

1 réponse

JvDo Messages postés 2012 Statut Membre 859
 
Bonsoir,

je ne sais pas trop si tu fais la différence entre supprimer et effacer.
Comme tu ne précises pas de sens de décalage après suppression, je considère que tu veux simplement effacer les cellules concernées.

pour les liens hypertextes :
Sub efface_cellules_hypertexte()
For Each h In ActiveSheet.Hyperlinks
    Range(h.Range.Address).Select
    Selection.ClearContents
Next
End Sub
pour l'effacement de cellules alpha contenant au moins un chiffre :
Sub efface_chaine_avec_nombre_dans_zone_feuille()
    'identifie la zone de la feuille contenant des cellules
    With ActiveSheet
    .Select
    R = .Cells.Find("*", .Cells.Item(1), , , , xlPrevious).Row
    C = .Cells.Find("*", .Cells.Item(1), , , , xlPrevious).Column
    r1 = .Cells.Find("*", .Cells.Item(1), , , , xlNext).Row
    c1 = .Cells.Find("*", .Cells.Item(1), , , xlByColumns, xlNext).Column
    .Range(.Cells(r1, c1), .Cells(R, C)).Select
    End With
    Set mazone = Selection
    'effacement des cellules alpha contenant au moins un chiffre
    For Each vcell In mazone
        If WorksheetFunction.IsText(vcell) Then
            For i = 0 To 9
                If Len(WorksheetFunction.Substitute(vcell, i, "")) < Len(vcell) Then
                    vcell.ClearContents
                    Exit For
                End If
            Next
        End If
    Next
    Range("A1").Select
End Sub
je te laisse trouver ton chemin sur le net pour apprendre à te servir de ces macros.

cordialement
0