Changer formules par VBA
Bonjour
Je suis a la recherche d'un code VBA pour remplacer mes formules des colonnes "A & B"qui est:
=GAUCHE(C10;1)Sur la colonne "A" et sur la colonne "B" j'ai ceci:
=SI(C10<>"";B9+1;"")Je vous remercie de votre aide et vous souhaite une bonne journée
Cordialement
Max
Bonjour,
Il manque vraiment des précisions. Tu ne nous dis pas quelles sont les cellules concernées par cette formule en VBA. Supposons que les résultats contiendrait dans les cellules A10 et B10, utilise les codes suivants :
Range("A10") = Left(Range("C10"), 1)
Range("B10") = IIf(Range("C10") <> "", Range("B9") + 1, "")Bonjour Raja,
Je vais essayer de faire simple.
Avec le code ci-dessous, lorsque je rentre un client sur une ligne le code "Cells(nlleLigne, 3) = TextNomComplet.Value" commence à la colonne "C" par le nom du client et avec la formule "=Gauche(C10;1) " j'ai la première lettre du client qui s'affiche dans la cellule "A" et avec le code "=SI(C10<>"";B9+1;"")" j'ai le N° +1 dans la colonne "B" ect...
J’espère avoir fait simple?
Private Sub CommandButton1_Click()
Dim nlleLigne As Long, cel As Range
'On recherche la première ligne disponible
Set cel = Range("A:A").SpecialCells(xlCellTypeFormulas).Find("", LookIn:=xlValues, lookat:=xlWhole)
If Not cel Is Nothing Then nlleLigne = cel.Row
Cells(nlleLigne, 3) = TextNomComplet.Value
Cells(nlleLigne, 4) = TextAdresse.Value
Cells(nlleLigne, 5) = TextCp.Value
Cells(nlleLigne, 6) = TextVille.Value
Cells(nlleLigne, 7) = TextTel.Value
Cells(nlleLigne, 8) = TextPortable.Value
Cells(nlleLigne, 9) = TextFax.Value
Cells(nlleLigne, 10) = TextEmail1 & "@" & TextEmail2.Value 'Email
ActiveSheet.Hyperlinks.Add Cells(nlleLigne, 10), Address:="mailto:" & "TextEmail1 & TextEmail2" 'Email actif sur la feuille
Cells(nlleLigne, 11) = ComboBox1.Value
Cells(nlleLigne, 12) = TextNom.Value
Cells(nlleLigne, 13) = TextPrenom.ValueJe te souhaite une bonne journée
Max
Bonjour,
Private Sub CommandButton1_Click()
Dim nlleLigne As Long, cel As Range
'On recherche la première ligne disponible
10 Set cel = Range("A:A").SpecialCells(xlCellTypeFormulas).Find("", LookIn:=xlValues, lookat:=xlWhole)
20 If Not cel Is Nothing Then nlleLigne = cel.Row
30 Cells(nlleLigne, 1) = Left(TextNomComplet.Value, 1)
40 Cells(nlleLigne, 2) = IIf(Range(TextNomComplet.Value) <> "", Range("B9") + 1, "")
50 Cells(nlleLigne, 3) = TextNomComplet.Value
60 Cells(nlleLigne, 4) = TextAdresse.Value
70 Cells(nlleLigne, 5) = TextCp.Value
80 Cells(nlleLigne, 6) = TextVille.Value
90 Cells(nlleLigne, 7) = TextTel.Value
100 Cells(nlleLigne, 8) = TextPortable.Value
110 Cells(nlleLigne, 9) = TextFax.Value
120 Cells(nlleLigne, 10) = TextEmail1 & "@" & TextEmail2.Value 'Email
130 ActiveSheet.Hyperlinks.Add Cells(nlleLigne, 10), Address:="mailto:" & "TextEmail1 & TextEmail2" 'Email actif sur la feuille
140 Cells(nlleLigne, 11) = ComboBox1.Value
150 Cells(nlleLigne, 12) = TextNom.Value
160 Cells(nlleLigne, 13) = TextPrenom.Value
End Subnb : profites en pour corriger les lignes 120 et 130 (voir précédents messages)
Bonjour Jean-Eric
Je te remercie beaucoup mais j'ai un message d'erreur "pas de cellules correspondantes" sur la ligne de code
Set cel = Range("A:A").SpecialCells(xlCellTypeFormulas).Find("", LookIn:=xlValues, lookat:=xlWhole)Je te remercie et te souhaite une bonne après-midi
Je joint mon formulaire peut être plus facile?
@+
Max