Assigner une valeur à une variable par la négative
Bonjour,
Je souhaite assigner une valeur à une variable par la négative pour que :
Num = n'importe quel nombre inférieur à 999999999999999
Nom = un texte différent de " " (non vide)
L'objectif est par la suite de rechercher avec Find la prochaine valeur différente de 999... / le prochain texte différent de ""
Pouvez-vous m'indiquer la marche à suivre s'il vous plaît ?
Merci et bonne journée,
Dim numsecu as integer
Dim nom As String
Dim prenom As String
numsecu < "9999999999999"
Nom <> ""
Prénom <>""Bonjour,
Si j'ai bien compris la problématique (pas claire du tout en ce qui me concerne), une syntaxe générique à adapter :
Sub Test()
Dim Lig As Long, Nom As String, Prénom As String, NumSécu As Double
With Sheets("NomFeuille") 'A adapter
For Lig = 2 To .Range("A" & Rows.Count).End(xlUp).Row 'Boucle sur les lignes
NumSécu = .Range("A" & Lig) 'Colonne à adapter
Nom = .Range("B" & Lig) 'Idem
Prénom = .Range("C" & Lig) 'Idem
If NumSecu < 9999999999999 And Nom <> "" And Prénom <>"" Then
MsgBox "Trouvé ligne : " & Lig
Exit Sub 'Sortir de la boucle
End If
Next Lig
End With
End SubPS : pas sûr que Excel digère ton numéro de sécu. La précision des nombres sur Excel est limitée à 15 chiffres de mémoire.
Bonjour,
Désolé, ce n'était effectivement pas très clair. J'essaie d'avancer pas à pas en attendant de voir si quelqu'un peut répondre à mon sujet plus global, mais au final, c'est compliqué sans expliquer le contexte.
Tu peux jeter un coup d'oeil au fichier joint, pour voir quel est mon fichier de départ et quel est mon objectif, je pense que ce sera plus parlant.
Grâce au code ci-dessous, j'arrive à cibler les 999999999 et les noms et prénoms vides pour les remplacer par hello et coucou (c'est un début
Sub test2()
Dim TV As Variant 'déclare la variable TV (Tableau des Valeurs)
Dim I As Integer 'déclare la variable I (Incrément)
Dim OS As Worksheet 'déclare la variable OS (Onglet Source)
Set OS = Sheets("BASE") 'définit l'onglet source OS
TV = OS.Range("A1").CurrentRegion 'définit le tableau des valeurs TV
For I = 1 To UBound(TV, 1)
If TV(I, 1) = TV(I + 1, 1) And TV(I, 2) = TV(I + 1, 2) And TV(I, 4) = TV(I + 1, 4) And TV(I, 5) = "9999999999999" Then
Cells(I, 5) = "hello"
Cells(I, 6) = "coucou"
End If
Next
End SubJe souhaiterais avec une ligne de type (c'est un prototype
Cells(I, 5) = Range("EI:E1000").Find("numsecu")(où I et le n° de ligne traité par ma boucle)
Trouver la prochaine valeur dans ma colonne qui est différente de 999999999
Afin de remplacer le 999999999 par le véritable numéro de la personne qui est la prochaine valeur dans cette même colonne, différente de 999999999.
Pour cela il faut que je définisse "numsecu" = n'importe quel nombre différent de 9999999999
J'espère que c'est plus clair. Merci pour ton aide.