Probleme de syntaxe

Salut a tous, j'ai une toute petite formule qui faudrais corriger: Je suis un peu rouiller.

DECHEX(HEXDEC(colonne A et ligne -1)+1).

Donc, je voudrais faire HEXDEC sur la cellule juste au dessus, puis remettre en Hexa avec DECHEX.

Bonjour

Pas trop saisi la question ( la réponse est dans la question)

Cellule A2 et à tirer vers le bas

=DECHEX(HEXDEC(A1)+1)

Bien sur comme tu as 2003 il te faut cocher dans

Menu Outils -->Macros complémentaires ----> Utilitaire d'analyse

Salut salut!

Ca fonctionne.

Pour le moment il y a 3 etapes:

1- mettre la formule dans la premiere cellule.

2- ecrire la valeur de depart

3- tirer vers le bas.

Idealement j'aimerais que lorsque je tappe une donnee hexa dans une cellule, si je tire vers le bas a partir de la cellule suivante, ca incremente le contenu de 1 sans faire l'etape 1.

Les instructions sont sur la feuille.

Bonjour

A tester

Ca marche du tonnerre!

Est-ce qu'on pourrais faire en sorte que cette macro ne s'applique que sur la colonne A, car il arrive que j'ai des copier coller a faire sur les autres et je ne voudrais pas me retrouver avec de l'hexa. Et si peux m'ajouter quelques commentaires a la macro!

Merci

Bonjour

Une suite avec des explications

Tout est parfait et tres fonctionnel pour moi! merci.

Pendant que tu es la, j'aimerais ajouter l'enregistrer de la feuille2 au code plus bas.

Private Sub CommandButton1_Click() 'sauvegarde un fichier de type xls avec le contenu du TextBox1 comme nom de fichier ou la valeur de OpenFile si la case du UserForm est cochee

    Dim adr$, fichier$
    adr = ThisWorkbook.Path
    Feuil1.Copy    'nom de la feuille à copier
    fichier = Mid(OpenFile, 1, Len(OpenFile) - 4)
    If CheckBox1 Then fichier = fichier Else fichier = TextBox1.Value
    ActiveWorkbook.SaveAs adr & "\" & fichier & ".ass"
    ActiveWorkbook.Close 1
    Me.Hide  'On cache le userform
    ActiveCell.Select 'truc pour enlever le focus au bouton
End Sub

Bonjour

CAPUCIN a écrit :

j'aimerais ajouter l'enregistrer de la feuille2 au code plus bas.

?????

CheckBox1

Me.Hide

Il ne manquerait une partie, ou alors j'ai raté un épisode

oups, excuse-moi! j'ai passe a un autre sujet. Sur la ligne "Feuil1.Copy 'nom de la feuille à copier", j'aimerais ajouter "Feuil2" . Faut-il mettre Feuil1 & Feuil2.copy?

 Private Sub CommandButton1_Click() 'sauvegarde un fichier de type xls avec le contenu du TextBox1 comme nom de fichier ou la valeur de OpenFile si la case du UserForm est cochee

        Dim adr$, fichier$
        adr = ThisWorkbook.Path
        Feuil1.Copy    'nom de la feuille à copier
       fichier = Mid(OpenFile, 1, Len(OpenFile) - 4)
        If CheckBox1 Then fichier = fichier Else fichier = TextBox1.Value
        ActiveWorkbook.SaveAs adr & "\" & fichier & ".ass"
        ActiveWorkbook.Close 1
        Me.Hide  'On cache le userform
       ActiveCell.Select 'truc pour enlever le focus au bouton
    End Sub

Bonsoir Capucin,

et ta feuil1 et feuil 2 tu veux les copier en feuil1 et feuil2 du nouveau classeur????

a+

Papou

Bonjour

Remplaces ta ligne par celle-ci

        Sheets(Array(Feuil1.Name, Feuil2.Name)).Copy   'nom de la feuille à copier

ca fonctionne bien!


J'aime bien ce que tu m'a fait plus tot, pourrais-tu le modifier pour utilisation sur des nombres decimals? je l'utiliserais sur une autre feuille?

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'permet un autoincrementation d'un nombre hexa a 4 chiffres par "glissement vers le bas"
Dim Nombre As Long
Dim Cel As Range

  If Target.Column <> 1 Then Exit Sub         ' En dehors de la colonne A on dégage

  If Target.Cells(1, 1) <> "" Then            ' Quelque chose
    On Error Resume Next                      ' On masque les erreurs
    Nombre = "&H" & Target.Cells(1, 1)        ' On récupére la valeur (on considère que c'est en hexa)
    If Err.Number <> 0 Then Exit Sub          ' Si une erreur on dégage
    On Error GoTo 0                           ' Gestion des erreurs normale
    For Each Cel In Target                    ' Pour chaque élément de la zone
      Cel = Right("0000" & Hex(Nombre), 4)    ' On écrit la valeur en Hexa (formatée à 4 digits)
      Nombre = Nombre + 1                     ' On augmente la valeur
    Next Cel                                  ' Passe à la cellule suivante
  End If
End Sub

Bonsoir

Pour les nombres décimaux, cala existe déjà

Par la poignée de recopie et appuies sur Ctrl en même temps

Ou alors je n'ai pas compris la question

j'ignorais cela! par contre notre macro ne dois viser que la feuille qui contiendra des donnes hexa dans la colonne A. Hors, je me suis apercu que l'autre feuille qui elle, contiendra des donnees decimal, semble etre affecte par la macro. Par exemple, si je tape 3875 decimal dans une cellule et je tire vers le bas, c'est incremente en hexa.

Il faudrais que notre macro ne vise que la feuille avec de l'hexa (dans mon cas elle s'appelle "DONNEES".


BANZAI, tu avais raison, tout fonctionne. Oubli mon dernier couriel, j'avais simplement copier ta macro dans la feuille que je ne voulais pas qu'elle soit. Dans l'autre feuille tout marche!

Merci et bonne fin de semaine!

Capucin!

Rechercher des sujets similaires à "probleme syntaxe"